El aumento de rendimiento no es del 300%, en general, en cambio, está más cerca del 50% -100%. La explicación de Casual Jim es uno de los motivos por los que las secuencias de comandos de procesamiento de datos son más lentas en Windows en comparación con las variantes de Unix y Linux.
En el caso más general, lo único que puedo pensar es que el desarrollo de Ruby está centrado en Linux, lo que ha llevado a muchos Unix-ismos en la forma en que Ruby se creó.Además, dado que la mayoría de los desarrolladores activos no son usuarios de Windows, existe muy poca experiencia en optimización de Windows en el equipo, y la mayoría de las decisiones de optimización del rendimiento se centran en acelerar las cosas en los sistemas Unix.
Un ejemplo específico de esto es que Ruby utiliza el paso de parámetros de copiar-escribir, que, según lo que leo, no se puede realizar correctamente en Windows, lo que provoca una gran sobrecarga en las llamadas a métodos.
No puedo entender, sin embargo, lo que Casual Jim hizo para merecer el voto de -8.
pensé código Ruby fue interpretado. ? – leppie
No es más que el intérprete debe compilarse. La implementación más común está escrita en C. – nitecoder
La compilación estable actual (1.9.1) usa una nueva VM, llamada YARV, que es un motor JIT. – wvdschel