Compilação Just-In-Time: Histórico, Arquitetura, Princípios e Sistemas

Authors

  • George Souza Oliveira Universidade Estadual de Maringá
  • Anderson Faustino da Silva Universidade Estadual de Maringá

DOI:

https://doi.org/10.22456/2175-2745.25803

Abstract

Diversas implementações de linguagens de alto nível focam no desenvolvimento de sistemas baseados em mecanismos de compilação just-in-time. Esse mecanismo possui o atrativo de melhorar o desempenho de tais linguagens, mantendo a portabilidade. Contudo, ao preço da inclusão do tempo de compilação ao tempo total de execução. Diante disso, as pesquisas na área têm voltado balancear o custo de compilação com eficiência de execução. Os primeiros sistemas de compilação just-in-time empregavam estratégias estáticas para selecionar e otimizar as regiões de código propícias para gerar bom desempenho. Sistemas mais sofisticados aprimoraram tais estratégias com o objetivo de aplicar otimizações de forma mais criteriosa. Nesse sentido, este tutorial apresenta os princípios que fundamentam a compilação just-in-time e sua evolução ao longo dos anos, bem como a abordagem utilizada por diversos sistemas para garantir o balanceamento de custo e eficiência. Embora seja difícil definir a melhor abordagem, trabalhos recentes mostram que estratégias rígidas para detecção e otimização de código, juntamente com recursos de paralelismo oferecidos pelas arquiteturas multi-core formarão a base dos futuros sistemas de compilação just-in-time.

Downloads

Download data is not yet available.

Author Biographies

George Souza Oliveira, Universidade Estadual de Maringá

Informática

Sistemas de Computação

Anderson Faustino da Silva, Universidade Estadual de Maringá

Informática

Sistemas de Computação

Published

2013-05-13

How to Cite

Oliveira, G. S., & da Silva, A. F. (2013). Compilação Just-In-Time: Histórico, Arquitetura, Princípios e Sistemas. Revista De Informática Teórica E Aplicada, 20(2), 174–213. https://doi.org/10.22456/2175-2745.25803

Issue

Section

Tutoriais