L'implementazione canonica JVM di Sun applica un'ottimizzazione piuttosto sofisticata al bytecode per ottenere velocità di esecuzione near-native dopo che il codice è stato eseguito alcune volte.Perché il codice JIT della cache JIT non è compilato?
La domanda è, perché questo codice compilato non è memorizzato su disco per l'utilizzo durante gli usi successivi della stessa funzione/classe?
Allo stato attuale, ogni volta che viene eseguito un programma, il compilatore JIT riprende in modo nuovo, anziché utilizzare una versione precompilata del codice. L'aggiunta di questa funzione non aggiungerebbe una spinta significativa al tempo di esecuzione iniziale del programma, quando il bytecode viene essenzialmente interpretato?
+1 buona domanda, che – skaffman
Una discussione che illustra questo problema: http://www.javalobby.org/forums/thread.jspa?threadID=15812 – miku
Ma una domanda improbabile per attirare una risposta definitiva. – bmargulies