He estado desarrollando una aplicación de procesamiento de imágenes en Java, pero recientemente me interesó VALA. La razón es porque creo que puedo aumentar el rendimiento de la aplicación (mi preocupación se centra principalmente en la interconexión con librerías C/C++, ya que parece < Example> que hay un castigo de rendimiento cuando se utilizan puentes C/C++ en Java).¿Diferencia de rendimiento entre las compilaciones de VALA y AOT?
de fondo (lo que sé):
- VALA se traduce en código C y entonces su compilado a un código máquina nativo.
- AOT (Java/Mono C#) también puede producir códigos de máquina nativos (en lugar de utilizar máquinas virtuales, pero aún requiere el paquete de tiempo de ejecución).
- En algunos casos, el uso de una VM puede ser incluso más rápido que un código de máquina nativo (ya que se puede optimizar a través del compilador JIT).
- Las bibliotecas de C/C++ de consumibles se pueden producir utilizando VALA.
Hay algo que va alrededor de mi cabeza y no puedo encontrar la respuesta:
- CAN/C++ bibliotecas consumibles C pueden producir usando un compilador AOT? (Supongo que no).
- ¿El binario producido de AOT sigue teniendo el problema de rendimiento de puente? (Supongo que sí)
- Llamar a las bibliotecas C/C++ en VALA tiene el mismo rendimiento que llamarlas desde C? (Creo que es).
¿Alguna idea?
Esta pregunta parece enfocada lo suficiente para "ser constructivo"; o al menos vinculado y cerrado a duplicados. –
Lo siento, mi inglés puede no ser tan bueno. No estoy seguro de por qué se votó para ser cerrado. Gracias pst por votacion. – lepe