Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Castrará Android la tecnología Jazelle de ARM?

La justificación que he visto para que digamos "Bastardizing" los bytecodes de Java en Android fue el rendimiento. (Sospecho que hay otra razón.) Sin embargo, al cambiar los códigos de bytes no han hecho tecnologías de aceleración de hardware como Jazelle moot, y por lo tanto, degradado el rendimiento disponible para una plataforma móvil de Java?

Parece intuitivo para mí saber que la plataforma de destino es una plataforma móvil basada en ARM. Aunque podría darle un mejor rendimiento en otras arquitecturas de CPU que parece escupir en la cara de ARM y Jazelle.

  • Android: configurar el diseño de fondo de forma programática
  • ¿Dónde debo poner una forma dibujable en mis carpetas de Android?
  • Calibración del sensor de campo magnético en ANDROID!
  • Android: la entrada de html pierde foco cuando se abre el teclado virtual (ASP.net)
  • Cómo cambiar el color de texto de un Android ToogleButton en el cambio de estado?
  • Cargar imagen de Android en React Native
  • ¿Qué tipo de efecto cuantitativo tiene en el rendimiento de Java?

    ¿Realmente mejora el rendimiento y, si es así, cómo?

    ¿Cuál es el efecto en otras plataformas? (Es decir, x86, mips, yadda, yadda, yadda …)

  • NoSuchMethod con addAll en el adaptador?
  • Error al cargar proyecto: No se pueden cargar 3 facetas Detalles
  • Imágenes en vivo de Android - OpenGL vs Canvas
  • SDK de Android no se instala en win 7 de 64 bits
  • Parámetros de Android SQLite rawquery
  • Configuración de un LongClickListener en un marcador de mapa
  • 3 Solutions collect form web for “¿Castrará Android la tecnología Jazelle de ARM?”

    Sí Dalvik hace Jazelle inútil. La única pregunta es fue Jazelle útil para empezar o es el 90% marketing hype? Un buen JIT o AOT (antes de tiempo) compilador tiende a dar un rendimiento mucho mejor que tratar de utilizar instrucciones especializadas. El enfoque basado en registros de Dalvik podría ser más rápido que un intérprete de bytecode java tradicional, pero si la diferencia en menor entre el de un intérprete y el de un JIT. Esperemos que una de las próximas versiones de Android tenga un JIT.

    Se tarda ~ 5-10 años para escribir una buena máquina virtual con el estado de la técnica de recolectores de basura y optimizadores. Sun (y Microsoft) han pasado esos años. Google no lo ha hecho. Esperemos que seguirá invirtiendo en él para que un día Android código Java no es un 90% más lento de lo que debería ser.

    Wikipedia: Máquina virtual de Dalvik :

    A diferencia de la mayoría de las máquinas virtuales y verdaderas máquinas virtuales Java que son máquinas de pila, la VM Dalvik es una arquitectura basada en registros.

    Estando optimizado para los requisitos de memoria baja, Dalvik tiene algunas características específicas que lo diferencian de otras VM estándar:

    • La VM se adelgazó para usar menos espacio.
    • Dalvik no tiene compilador just-in-time.
    • La agrupación constante se ha modificado para utilizar sólo índices de 32 bits para simplificar el intérprete.
    • Usa su propio bytecode, no bytecode de Java.

    Además, Dalvik ha sido diseñado para que un dispositivo pueda ejecutar varias instancias de la VM de manera eficiente.

    Editar : Véase Wikipedia: Alianza abierta del auricular . El miembro fundador incluye Intel, Motorola, Qualcomm y Texas Instruments. ARM se unió un año más tarde en diciembre de 2008. Por lo tanto, supongo que no tiene sentido para estas empresas a confiar en una tecnología patentada por entonces no miembro, cuando el objetivo era crear opensource iPhone / Blackberry competidor.

    En realidad tenía la impresión de que Dalvik estaba destinado más a la eficiencia del espacio que a la eficiencia de la ejecución. También de Wikipedia:

    Un archivo .dex sin comprimir es típicamente un poco más pequeño en tamaño que un .jar comprimido (Java Archive) derivado de los mismos archivos .class.

    Mientras que los teléfonos actuales pueden utilizar un ARM con el apoyo de Jazelle, eso no es necesariamente cierto en el futuro.

    También de Wikipedia (advertencia: rumores):

    Las especificaciones publicadas son muy incompletas, siendo solo suficientes para escribir código de sistema operativo que pueda soportar una JVM que utilice Jazelle. La intención declarada es que sólo el software JVM necesita (o está permitido) que dependa de los detalles de la interfaz de hardware. Esta estrecha vinculación facilita que el hardware y JVM pueden evolucionar juntos sin afectar a otros programas. En efecto, esto da a ARM Holdings un control considerable sobre qué JVMs son capaces de explotar Jazelle. También evita que las JVM de código abierto usen Jazelle.

    Una vez que añadir un JITter a Dalvik, todo será un punto discutible.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.