2010-10-23 28 views
7

Acabo de ver que hay un compilador Ruby Parrot llamado Cardinal, que puede crear código para ejecutar en Parrot, que es una máquina virtual que puede ejecutar byte-code. ¿Cómo se compila el rendimiento de Ruby o cualquier lenguaje y se ejecuta allí porque, por ejemplo, Ruby probablemente no tenga código de bytes precompilado. ¿Se puede ejecutar más rápido en Parrot? Python probablemente estará mejor corriendo como está porque tiene .pyc.¿Se ejecutará Ruby u otro idioma más rápido en Parrot?

+1

JRuby está tomando las mismo enfoque, compilando bytecode Ruby to Java. – Thilo

Respuesta

4

Parrot desarrollo aún no se ha centrado en la optimización. La hoja de ruta siempre mencionó esto en la versión 3 o 4 (Parrot se encuentra actualmente en la versión 2.9).

Se está produciendo una gran rama de refactorización que incluye arrancar el JIT y reemplazarlo por uno nuevo (refs: Lorito & JITRewrite).

Los frutos de esto deberían empezar a aparecer como parte de Parrot 3.0, que creo que se debe entregar la próxima primavera.


actualización

Un probable roadmap ha sido publicado por un desarrollador loro en su blog. He aquí un resumen de lo que él cree que los próximos 3 años tal vez:

  • 3,0 - Nuevo colector de basura
  • 3.3 - Lorito prototipo
  • 4.0 - Nuevo objeto metamodelo
  • 5.0 - Nueva JIT
  • 6.0 - Nuevo sistema de concurrencia

/I3az/

1

Editar: Estaba viendo resultados más antiguos cuando newer ones are available. A partir de los puntos de referencia más recientes, que todavía son bastante antiguos, el loro supera a la vanilla vm en algunas pruebas, pero es más lento en otras. Algunas pruebas que ni siquiera puede completar.

yarv es el rey de la velocidad de manos libres para el rendimiento de rubí.

+1

"Nuevos" resultados son de 2007? : -/ –

+1

Debo admitir que deja margen para la mejora. – SingleNegationElimination

Cuestiones relacionadas