Artigo Clube Delphi 110 - Otimizando funções da VCL
Artigo da Revista Clube Delphi Edição 110.
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da ClubeDelphi 110
Otimizando funções da VCL
Aumente a performance de funções, como o FieldByName, utilizando listas hash
|
Do que trata o artigo |
|
O artigo descreve como é feita a alteração de comportamento de classes da VCL em tempo de execução. A alteração será feita através de substituição de código diretamente nas páginas de memória, durante a inicialização do aplicativo. Alterar o código de partes compiladas da VCL obriga a posterior recompilação de componentes de terceiros e partes da própria VCL. |
|
Para que serve |
|
Esta técnica é utilizada para substituir funções que são executados com muita frequência e que se substituídas por versões otimizadas, podem trazer uma grande melhoria no desempenho ou tempo de execução de aplicativos. Considera-se que não se pode alterar o código por vias normais, por exemplo, estendendo a funcionalidade de uma classe através de herança. |
|
Em que situação o tema é útil |
|
Estas substituições de código são frequentemente utilizadas pelos projetos DelphiSpeedUp e FastCode. Como eles substituem partes da RTL por códigos otimizados, a fim de melhorar o tempo de execução da IDE, são obrigados a fazer as alterações em memória, já que não podem modificar o código fonte da IDE e VCL. As técnicas podem ser aplicadas no dia a dia para otimizar partes da VCL e estruturas de dados utilizadas nos aplicativos. |
Resumo do DevMan
Este artigo mostra como se pode alterar o comportamento de um aplicativo em tempo de execução, substituindo partes de código na memória por outras, otimizadas. Esta técnica é usada pelos desenvolvedores do projeto FastCode, um projeto que tem a intenção de reescrever várias funções da VCL do Delphi com o objetivo de torná-las mais rápidas. O projeto tem uma visibilidade tal que a própria CodeGear/Embarcadero tem atualizado algumas de suas funções com base no que foi disponibilizado no projeto. Além disso, esta técnica também é utilizada por Andreas Hausladen em seus utilitários para Delphi. Um exemplo de uso da técnica é o utilitário DephiSpeedUp que substitui funções do Delphi e torna a IDE muito mais rápida. Mais informações sobre o plug-in podem ser obtidas aqui: http://andy.jgknet.de/blog/?page_id=8
Desenvolver um framework como a VCL não é uma tarefa fácil. Ter em mente todos os possíveis usos que um desenvolvedor poderá fazer de uma quantidade imensa de classes não é tão simples. Devido a estas dificuldades, muitas partes do código não recebem a devida atenção ou não são codificadas pensando em requisitos agressivos de desempenho. Muitas vezes você nem sabe que usa, mas estes códigos estão lá no seu executável final, rodando no cliente e levando um tempo precioso para ser processado.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Clique aqui e acesse o Leitor Digital DevMedia para ler este artigo completo.

3 COMENTÁRIOS

Gostei muito da materia, realmente muito util e com qualidade...

Space do autor



0
0
