Tengo curiosidad sobre el rendimiento de los algoritmos numéricos Java, por ejemplo multiplicación de doble matriz de matrices matriciales, utilizando las últimas máquinas JIT comparadas, por ejemplo, con SSE C++/ensamblador sintonizado o contrapartes Fortran.Rendimiento de Java en algoritmos numéricos
He buscado en la web pero la mayoría de los resultados provienen de hace casi 10 años y entiendo que Java ha progresado bastante desde entonces.
Si tiene experiencia en el uso de Java para aplicaciones numéricamente intensivas puede compartir su experiencia. ¿Qué tan bien funciona Java en núcleos donde los bucles son relativamente cortos y el acceso a la memoria no es muy uniforme, pero aún dentro de los límites de la memoria caché L1? Si dicho núcleo se ejecuta varias veces seguidas, ¿puede JVM optimizarlo durante el tiempo de ejecución?
Gracias
Su mejor opción es probarlo usted mismo, ya que la comparación con C++ será difícil ya que será la más rápida, y cualquier comparación no tendrá acceso a su implementación particular. –
Nota para otros que vienen a esta página: esta pregunta y la mayoría de las respuestas son de 2009. JVM es mucho mejor hoy en día de lo que solía ser. – eis
Es posible que desee ver ND4J, que admite matrices n-dimensionales para Java. http://nd4j.org/benchmarking.html – tremstat