¿Algún compilador JIT de JVM genera código que usa instrucciones vectorizadas de punto flotante?

Digamos que el cuello de botella de mi programa Java es en realidad algunos bucles ajustados para calcular un montón de productos vectoriales de puntos. Sí, he perfilado, sí, es el cuello de botella, sí, es significativo, sí, así es como es el algoritmo, sí, he ejecutado Proguard para optimizar el código de bytes, etc.

El trabajo es, esencialmente, productos de puntos. Como en, tengo dosfloat[50] y necesito calcular la suma de productos por pares. Sé que los conjuntos de instrucciones del procesador existen para realizar este tipo de operaciones de forma rápida y en conjunto, como SSE o MMX.

Sí, probablemente pueda acceder a estos escribiendo algún código nativo en JNI. La llamada JNI resulta ser bastante cara.

Sé que no puede garantizar lo que compilará o no compilará un JIT. Alguien tienesiempre ¿Has oído hablar de un código generador de JIT que utiliza estas instrucciones? y si es así, ¿hay algo sobre el código Java que ayude a compilarlo de esta manera?

Probablemente un "no"; vale la pena preguntar

Respuestas a la pregunta(8)

Su respuesta a la pregunta