Sto riscontrando un problema nella mia applicazione Java in cui il JIT interrompe il codice. Se disattivo il JIT, tutto funziona correttamente, ma esegue 10-20 volte più lentamente.Disattivare JIT Java per un metodo/una classe specifici?
C'è un modo per disabilitare il JIT per un metodo o una classe specifici?
Edit: sto usando Ubuntu 10.10, ottenendo gli stessi risultati sia con:
OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubuntu1)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)
e:
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
Hai un bug già? O hai trovato un bug esistente, che descrive il tuo problema? – soc
Sembra molto improbabile che sia dovuto al JIT, no? Non potrebbe essere dovuto a una condizione di gara (dato che i tempi cambiano quando disabiliti jit) ... – aioobe
Sto usando solo un singolo thread. Sono occupato a esaminare il bug, ma in realtà non ho il tempo adesso. L'errore si verifica in modo coerente dopo che un metodo specifico è stato compilato dal JIT. Per ora sto solo impostando l'opzione -XX: CompileThreshold abbastanza alta. – Ralf