DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Artigo Clube Delphi 110 - Otimizando funções da VCL

Artigo da Revista Clube Delphi Edição 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

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Wesley Bobato
Parabens Pelo Material!!!! Muito Interessante Show!!! Mesmo!!! Esperamos Poder Contar Cada Vez mais com Esses Materiais de Boa Qualidade um Bom Dia a Todos!!!
[há +1 ano] - Responder

 

Marlon Nardi

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

 
Parabens.
[há +1 ano] - Responder

 

Ricardo Alves Carvalho
Artigo realmente muito bom. No entanto, ao inserir a unit em um projeto, passei a ter o erro "Duplicate field name 'DATA_SESSAO'". Isso ocorre na reabertura de um ClientDataSet.
[há +1 ano] - Responder

 



Publicidade
Autor
Thiago Borges De Oliveira

Mestrando em Sistemas Distribuídos na UFG, pesquisando R-Trees e Joins distribuídos. Desenvolvedor de drivers DBX4 para Firebird, Postgres, SQLite e Oracle. Arquiteto/Analista de software, programando em Delphi/C++/Java/Python e automatizando teste de software com TestComplete.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03