Hogar » Compilación Justo a Tiempo (JIT)

Compilación Justo a Tiempo (JIT)

1990
Software engineer optimizing JIT compilation in a modern workspace.

Justo a tiempo (JIT) compilation is a hybrid approach that combines features of both compilation and interpretation. Instead of compiling code ahead-of-time (AOT), a JIT compiler translates bytecode into native machine code at runtime, just before it is executed. This allows for dynamic optimizations based on actual runtime behavior, often improving performance over pure interpretation.

A JIT compiler operates within a runtime environment or virtual machine. When a método is called for the first time, its platform-independent bytecode is compiled into native machine code and cached. Subsequent calls to that method execute the fast, native code directly, bypassing the overhead of interpretation. This introduces a small startup or warm-up delay but can result in significant long-term performance gains for long-running applications.

The key advantage of JIT compilation is the ability to perform profile-guided or adaptive optimization. The runtime can monitor the code’s execution, gathering statistics on which code paths are ‘hot’ (frequently executed) and the types of data being processed. This runtime information, unavailable to a static AOT compiler, allows the JIT to make more informed optimization decisions. For example, it can perform speculative inlining of virtual method calls if it observes that a particular concrete type is always used. If this assumption later proves false, the JIT can perform ‘deoptimization’ and fall back to a safer execution path. This dynamic nature makes JIT compilation extremely effective for object-oriented and dynamic languages.

UNESCO Nomenclature: 1203
- Informática

Tipo

Software/Algoritmo

Disrupción

Sustancial

Utilización

Uso generalizado

Precursores

  • compiladores adelantados (aot)
  • intérpretes
  • código p y otros sistemas de código de bytes
  • Investigación en lenguajes dinámicos como smalltalk y lisp
  • conceptos de máquinas virtuales

Aplicaciones

  • máquina virtual de Java (JVM)
  • .net Common Language Runtime (clr)
  • Motores de JavaScript en navegadores web (por ejemplo, v8)
  • pypy, una implementación de Python de alto rendimiento
  • motores de ejecución de consultas de bases de datos

Patentes:

NA

Posibles ideas innovadoras

Membresía obligatoria de Professionals (100% free)

Debes ser miembro de Professionals (100% free) para acceder a este contenido.

Únete ahora

¿Ya eres miembro? Accede aquí
Related to: JIT, just-in-time compilation, dynamic compilation, virtual machine, jvm, clr, v8, bytecode, adaptive optimization, runtime.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

DISPONIBLE PARA NUEVOS RETOS
Ingeniero Mecánico, Gerente de Proyectos, Ingeniería de Procesos o I+D
Desarrollo eficaz de productos

Disponible para un nuevo desafío a corto plazo.
Contáctame en LinkedIn
Integración de electrónica de metal y plástico, diseño a coste, GMP, ergonomía, dispositivos y consumibles de volumen medio a alto, fabricación eficiente, industrias reguladas, CE y FDA, CAD, Solidworks, cinturón negro Lean Sigma, ISO 13485 médico

Estamos buscando un nuevo patrocinador

 

¿Su empresa o institución se dedica a la técnica, la ciencia o la investigación?
> Envíanos un mensaje <

Recibe todos los artículos nuevos
Gratuito, sin spam, correo electrónico no distribuido ni revendido.

o puedes obtener tu membresía completa -gratis- para acceder a todo el contenido restringido >aquí<

Contexto histórico

(si se desconoce la fecha o no es relevante, por ejemplo "mecánica de fluidos", se ofrece una estimación redondeada de su notable aparición)

Invención, innovación y principios técnicos relacionados

Scroll al inicio

También te puede interesar