Just-in-time (jit)

Definição - O que significa Just-In-Time (JIT)?

Just-in-time (JIT) é um termo usado para descrever uma ação, como compilação ou ativação de objeto, apenas no momento em que se torna necessário. Este termo está associado principalmente à compilação de software. A compilação JIT é projetada principalmente para execução de código em alta velocidade e suporte para várias plataformas.

A compilação JIT originou-se da necessidade de um compilador assumir responsabilidades além da simples conversão para código-objeto (instruções de máquina) de uma linguagem de alto nível. Os compiladores JIT facilitam a portabilidade para vários sistemas operacionais e plataformas de hardware. Linguagens como Smalltalk, Pascal Java e C # suportam compilação JIT.

Definirtec explica Just-In-Time (JIT)

Existem três tipos de compiladores JIT:

  1. Pré-JIT: Compila todo o código-fonte durante a compilação e é usado no momento da implantação.
  2. Econo-JIT: Compila métodos que são chamados durante o tempo de execução.
  3. Normal-JIT: Compila apenas os métodos chamados durante o tempo de execução (no instante da primeira chamada) e armazena o código compilado no cache para ser usado nas chamadas subsequentes.

As desvantagens de usar a compilação JIT são o tempo de inicialização adicional durante a primeira chamada, o aumento do uso de memória cache e a incapacidade de compartilhar código em vários processos.

A compilação antecipada (AOT) pode superar os problemas enfrentados com a compilação JIT. Ele pré-compila toda a imagem da linguagem intermediária da Microsoft em código de máquina sem a necessidade de compilação em tempo de execução e salva o código compilado em um arquivo em um disco. O código compilado só é usado quando há necessidade de uma inicialização mais rápida do aplicativo.

A otimização adaptativa é uma alternativa à compilação JIT usada em Java.