Product Design, Manufacturing & Innovation Resources
Casa » Compilazione Just-In-Time (JIT)

Compilazione Just-In-Time (JIT)

1990
Ingegnere informatico che ottimizza la compilazione JIT in uno spazio di lavoro moderno.

(Immagine generata a solo scopo illustrativo)

Just-in-time La compilazione JIT (Just-In-Time) è un approccio ibrido che combina caratteristiche sia della compilazione che dell'interpretazione. Invece di compilare il codice in anticipo (AOT), un JIT compilatore Traduce il bytecode in codice macchina nativo in fase di esecuzione, immediatamente prima dell'esecuzione. Ciò consente ottimizzazioni dinamiche basate sul comportamento effettivo in fase di esecuzione, spesso migliorando le prestazioni rispetto alla semplice interpretazione.

A JIT compilatore operates within a runtime environment or virtual machine. When a method 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.

Il vantaggio principale della compilazione JIT è la capacità di eseguire ottimizzazioni adattive o guidate da profili. Il runtime può monitorare l'esecuzione del codice, raccogliendo statistiche sui percorsi di codice "caldi" (eseguiti frequentemente) e sui tipi di dati elaborati. Queste informazioni a runtime, non disponibili per un compilatore AOT statico, consentono al JIT di prendere decisioni di ottimizzazione più consapevoli. Ad esempio, può eseguire l'inlining speculativo delle chiamate a metodi virtuali se osserva che un particolare tipo concreto viene sempre utilizzato. Se in seguito questa ipotesi si rivela errata, il JIT può eseguire una "deottimizzazione" e ripiegare su un percorso di esecuzione più sicuro. Questa natura dinamica rende la compilazione JIT estremamente efficace per i linguaggi orientati agli oggetti e dinamici.

UNESCO Nomenclature: 1203
- Informatica

Tipo

Software/Algoritmo

Interruzione

Sostanziale

Utilizzo

Uso diffuso

Precursori

  • compilatori ahead-of-time (aot)
  • interpreti
  • p-code e altri sistemi bytecode
  • ricerca in linguaggi dinamici come smalltalk e lisp
  • concetti di macchina virtuale

Applicazioni

  • macchina virtuale Java (JVM)
  • .net Common Language Runtime (CLR)
  • motori javascript nei browser web (ad esempio, v8)
  • pypy, un'implementazione Python ad alte prestazioni
  • motori di esecuzione delle query del database

Brevetti:

NA

Idee e potenziali innovazioni

  • compilazione jit predittiva che compila i percorsi del codice prima ancora che vengano eseguiti in base a modelli probabilistici
  • compilazione jit tra dispositivi in ​​cui un server potente esegue jit per un client a bassa potenza
  • compilatori jit per sql che riottimizzano i piani di query a metà esecuzione in base alle statistiche dei dati intermedi
  • compilatori jit sicuri che inseriscono controlli di sicurezza in fase di esecuzione e sandbox nel codice generato
  • compilatori jit per file di configurazione (ad esempio, nginx, apache) per velocizzare la gestione delle richieste
  • compilatori JIT attenti all'energia che scelgono ottimizzazioni per bilanciare prestazioni e consumo energetico
  • compilatori jit che prendono di mira FPGA, riconfigurando l'hardware in fase di esecuzione
  • de-ottimizzare i compilatori jit che possono tornare a una compilazione più semplice se un'ipotesi di ottimizzazione si rivela falsa
  • compilazione jit distribuita per architetture di microservizi
  • compilatori jit che generano codice per l'esecuzione della GPU al volo
Related to: JIT, just-in-time compilation, dynamic compilation, virtual machine, jvm, clr, v8, bytecode, adaptive optimization, runtime.

Contesto storico

Compilazione Just-In-Time (JIT)

1980
1986-01-01
1990
1990
1993
1998
2010
1980
1982-07-01
1988-06-01
1990
1993
1997-04-23
2001
2010

(se la data è sconosciuta o non rilevante, ad esempio "meccanica dei fluidi", viene fornita una stima approssimativa della sua notevole comparsa)

decimo anno anniversario

Le immagini a grandezza naturale e i download sono disponibili, gratuitamente al 100%, solo per gli utenti registrati.

> Login <