2010-04-30 11 views
5

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?

+1

Supongo que hotpost significa HotSpot. –

+0

@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

Respuesta

4

No.

Hay algunas otras JVM con ECI rastreo, sin embargo: HotPath y Maxine, por ejemplo.

2

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.

0

Ni siquiera es un JIT en realidad, y mucho menos un 'JIT de rastreo', sea lo que sea.

+3

. 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! –

3

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.

Cuestiones relacionadas