Justo a tiempo (jit)

Definición: ¿Qué significa Just-In-Time (JIT)?

Just-in-time (JIT) es un término que se utiliza para describir una acción, como la compilación o la activación de un objeto, solo en el momento en que sea necesario. Este término se asocia principalmente con la compilación de software. La compilación JIT está diseñada principalmente para la ejecución de código de alta velocidad y el soporte para múltiples plataformas.

La compilación JIT se originó a partir de la necesidad de que un compilador asumiera responsabilidades además de la conversión a código objeto (instrucciones de máquina) desde un lenguaje de alto nivel. Los compiladores JIT facilitan la portabilidad a múltiples sistemas operativos y plataformas de hardware. Los lenguajes como Smalltalk, Pascal Java y C # admiten la compilación JIT.

Techinfo explica Just-In-Time (JIT)

Hay tres tipos de compiladores JIT:

  1. Pre-JIT: compila todo el código fuente durante la compilación y se utiliza en el momento de la implementación.
  2. Econo-JIT: compila los métodos que se llaman durante el tiempo de ejecución.
  3. Normal-JIT: compila solo los métodos llamados durante el tiempo de ejecución (en el instante de su primera llamada) y almacena el código compilado en la caché para usarlo en llamadas posteriores.

Las desventajas de usar la compilación JIT son el tiempo de inicio adicional durante la primera llamada, un mayor uso de la memoria caché y la incapacidad de compartir código en múltiples procesos.

La compilación anticipada (AOT) puede solucionar los problemas que enfrenta la compilación JIT. Precompila toda la imagen del lenguaje intermedio de Microsoft en código de máquina sin la necesidad de una compilación en tiempo de ejecución y guarda el código compilado en un archivo en un disco. El código compilado solo se usa cuando existe la necesidad de un inicio más rápido de la aplicación.

La optimización adaptativa es una alternativa a la compilación JIT que se utiliza en Java.