Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Sobre el rendimiento de la VM Java

    (Puntos:3, Informativo)
    por errepunto (22529) el Lunes, 30 Agosto de 2010, 08:52h (#1235521)
    ( https://blog.rcorral.es/ | Última bitácora: Martes, 29 Junio de 2010, 11:58h )
    Parece que todos los comentarios tratan sobre la publicidad, pero pocos sobre el rendimiento de la VM.

    Por un lado, con un buen compijador JIT no tiene que haber problemas. El compilador JIT optimiza la ejecución para el hardware actual la primera vez que se lanza el ejecutable, por lo que para las siguientes ejeciones su rendimiento será muy bueno y optimizado para el hardware local.

    Por otro lado la mayor parte de los chips ARM (¡incluidas varias versiones del iPhone!) usan las extensiones Jazelle [wikipedia.org]. ¿Y que son? Muchos las conocerán, pero para el que no lo sepa y no tenga ganas de leerse el enlace, son nada más y nada menos que la posibilidad de que el procesador ejecute bytecodes de java de forma nativa, por lo que la velocidad es tan rápida como la de cualquier otra instrucción en ensamblador.

    En definitiva, por unas cosas o por otras no tiene por qué resentirse demasiado el rendimiento por usar una VM en vez de código nativo. Sólo se pueden notar grandes diferencias en el acceso a ciertas partes del hardware, como la aceleración 3D, pero para eso existen cosas como el NDK, que ejecuta código nativo.
    --
    Disculpe que no me disculpe
    Puntos de inicio:    1  punto
    Moderación   +1  
    Modificador extra 'Informativo'   0  
    Modificador por Bonus-Karma   +1  

    Total marcador:   3  
  • por errepunto (22529) el Lunes, 30 Agosto de 2010, 16:49h (#1235616)
    ( https://blog.rcorral.es/ | Última bitácora: Martes, 29 Junio de 2010, 11:58h )
    Tienes razón, por puro diseño algunas operaciones serán mucho más lentas. Lo bueno es que cada vez son menos los cuellos de botella y una vez conocidos, algunos de ellos pueden evitarse con un buen diseño de las aplicaciones.

    Aquí se pueden ver unas estadísticas bastante completas, que muestran que lo más rápido es C, pero Java le sigue muy de cerca:

    http://shootout.alioth.debian.org/u32q/which-progr amming-languages-are-fastest.php [debian.org]

    También se puede contemplar la semejanza en rendimiento con una bonita comparativa gráfica de tamaño de programas y velocidades de ejecución en varios lenguajes:

    http://blog.gmarceau.qc.ca/2009/05/speed-size-and- dependability-of.html [gmarceau.qc.ca]

    En definitiva, C y sobre todo ASM son más rápidos, si, pero ya no hay tanta diferencia.

    Saludos.
    --
    Disculpe que no me disculpe
    [ Padre ]
  • 1 respuesta por debajo de tu umbral de lectura actual.