La pregunta prácticamente lo dice todo, he estado buscando una respuesta incluso a través de la especificación de VM, pero no lo dice explícitamente.¿Es el Hotspot JVM Bytecode Interpreter un JIT de rastreo?
Respuesta
Tenía que google qué era un "JIT de rastreo", pero aparentemente no lo es.
> non-tracing JIT implementations (Sun’s Java VM
Pero sí optimizar lo que podríamos llamar "puntos calientes".
Cómo se optimiza el bytecode no será parte de la especificación para el bytecode.
Ni siquiera es un JIT en realidad, y mucho menos un 'JIT de rastreo', sea lo que sea.
. Claro, el intérprete de bytecode * de Hotspot * no es un compilador * JIT * ... ¡pero debería ser obvio por el contexto que el OP no significaba eso! –
Aparte: para aquellos que no saben lo que es un JIT es el rastreo, la siguiente descripción proviene de this page:
Aunque los ECI rastreo son una tecnología compleja, el concepto básico es sobre la optimización de la ejecución del caliente caminos en un programa. El énfasis está específicamente en los caminos calientes que regresan al inicio de un camino que suena muy parecido a un bucle. Sin embargo, la definición tradicional de un bucle de programación es solo un subconjunto de estas rutas calientes. La definición más amplia incluye código que abarca métodos e incluso módulos. Esta definición más amplia de un bucle es lo que se llama rastro.
- 1. Optimizaciones JIT Hotspot
- 2. Optimizaciones Java: solo bytecode contra JIT
- 3. ¿Es posible transformar el bytecode LLVM en bytecode de Java?
- 4. ¿Por qué esta opción de JVM de Hotspot no es la predeterminada? -XX: + PrintConcurrentLocks
- 5. CPython es un intérprete de bytecode?
- 6. Smart JVM y JIT Micro-Optimizations
- 7. Aprendiendo sobre el bytecode de Java y la JVM
- 8. ¿Cómo se ejecuta scala bytecode en el jvm?
- 9. ¿Cómo puedo examinar el bytecode JVM para una función clojure?
- 10. ¿Cómo compilo el código ensamblador JVM en bytecode?
- 11. ¿Cómo se verifica el bytecode en la JVM?
- 12. JIT vs Intérpretes
- 13. Ejecutando bytecode Java en Android - Sun JVM encima de DalvikVM
- 14. ¿Debo ver el bytecode producido por un compilador Java?
- 15. ¿Qué es una instrucción JVM?
- 16. Rastreo de rastreo para un determinado puerto
- 17. ¿Es "Jint - JavaScript Interpreter for .NET" confiable?
- 18. ¿Para qué se utiliza el NOP en el bytecode de JVM?
- 19. Do Not JIT y non-JIT habilitado Intérpretes Ultimately Produce Machine Code
- 20. ¿Es la JVM un compilador o un intérprete?
- 21. Recuperar salida JIT
- 22. .NET runtime vs. Java Hotspot: ¿Está .NET una generación atrás?
- 23. ¿Cómo generan los lenguajes/tiempos de ejecución basados en JVM un bytecode de Java?
- 24. Especificación de bytecode de Java
- 25. Bytecode vs. Interpretado
- 26. Hacer un compilador JIT
- 27. Capture "Tcl Interpreter Error"
- 28. Cómo usar -XX: + UnlockDiagnosticVMOptions -XX: CompileCommand = opción de impresión con HotSpot JVM
- 29. C# Console/CLI Interpreter?
- 30. ¿Qué significa BufferBlob :: Intérprete en el registro de bloqueo de JVM?
Supongo que hotpost significa HotSpot. –
@jtzero: aún más interesante sería algo que muestre si un "JIT de rastreo", que puede optimizar hasta un solo bucle (en lugar de un método completo, como el JIT "regular"), ofrece un beneficio significativo en comparación con un seguimiento -JIT;) Diga, si un JIT regular ofrece una aceleración "multiplicada por 50" y un JIT de rastreo ofrece una aceleración "multiplicada por 51", cuénteme que realmente no me impresionó :) – SyntaxT3rr0r