Saltar para o conteúdo

Compilação dinâmica

Origem: Wikipédia, a enciclopédia livre.

Compilação dinâmica é o processo usado por algumas linguagens de programação para aumentar o desempenho de programas durante a execução. É geralmente usada nos casos em que a otimização do programa só pode ser feita em tempo de execução. Apesar do conceito ter-se originado em Self, a implementação mais conhecida é Java.

Ambientes que usam compilação dinâmica possuem tipicamente programas que rodam lentamente nos primeiros minutos, e que são otimizados gradualmente com o uso, através de recompilação de código após a análise de execução. Tal característica é um limitador para certas categorias de programas. JIT é uma forma de compilação dinâmica.[1]

Uma técnica relacionada é a compilação incremental, usada em algumas versões de Lisp, por exemplo. Nela, o compilador é parte do ambiente de execução, por forma a que o código fonte possa ser lido a qualquer momento, sendo traduzido em linguagem de máquina imediatamente ao programa, sob demanda. Entretanto, a compilação incremental não envolve otimizações no programa após as primeiras execuções.

Outra técnica relacionada é a recompilação dinâmica, a funcionalidade de alguns emuladores e máquinas virtuais em que o sistema recompila parte do programa durante a execução.[2][3]

Referências

  1. [1]
  2. Compilação MSL para código nativo, [2]
  3. On the Fly Code, [3]