Por defecto, el compilador nativo Rubí Rubí utiliza Implementación del Matz (MRI) para ejecutar código.
Rubinius es una alternativa a la RM, se centró en la velocidad y el rendimiento.
Esta herramienta se puede utilizar para entornos de producción, siendo compatible con la mayoría de las bibliotecas y los marcos actuales de Ruby.
Rubinius también aprovecha una potente interfaz de C-API que también le permite ejecutar código nativo de C junto con Ruby, para mayor rendimiento y la velocidad aún más.
¿Qué hay de nuevo en esta versión:.
- El C-API proporciona rb_struct_s_members
- Array # concat se fija cuando la matriz se añade a tiene un índice de inicio cambiado.
- La opción -Xjit.profile emite la instrumentación de perfiles en los métodos compilados por el JIT. Además, el JIT no se desactiva durante perfiles cuando se especifica esta opción.
- Tema # pid devuelve el PID del hilo en Linux y algo de valor entero de una plataforma específica en OS X.
- La gema rubysl de digerir se actualiza a 2.0.7.
- Bündler se actualiza a 1.9.8.
¿Qué es la nueva en la versión 2.5.8:.
- El C-API proporciona rb_struct_s_members
- Array # concat se fija cuando la matriz se añade a tiene un índice de inicio cambiado.
- La opción -Xjit.profile emite la instrumentación de perfiles en los métodos compilados por el JIT. Además, el JIT no se desactiva durante perfiles cuando se especifica esta opción.
- Tema # pid devuelve el PID del hilo en Linux y algo de valor entero de una plataforma específica en OS X.
- La gema rubysl de digerir se actualiza a 2.0.7.
- Bündler se actualiza a 1.9.8.
¿Qué es la nueva en la versión 2.5.5:.
- El C-API proporciona rb_struct_s_members
- Array # concat se fija cuando la matriz se añade a tiene un índice de inicio cambiado.
- La opción -Xjit.profile emite la instrumentación de perfiles en los métodos compilados por el JIT. Además, el JIT no se desactiva durante perfiles cuando se especifica esta opción.
- Tema # pid devuelve el PID del hilo en Linux y algo de valor entero de una plataforma específica en OS X.
- La gema rubysl de digerir se actualiza a 2.0.7.
- Bündler se actualiza a 1.9.8.
¿Qué hay de nuevo en la versión 2.5.3:
- El bloqueo en la máquina virtual alrededor de tenedor y tenedor / exec (por ejemplo, para Process.spawn o Kernel # `) ha sido mejorada.
- Cuando se ejecuta, por ejemplo, Process.spawn o Kernel # `, el estado de subproceso se lee de una tubería en el proceso padre. Esta lectura puede ser interrumpido por el sistema. La interrupción se lee ahora se maneja adecuadamente.
- En FreeBSD, el Readline C-ext (rubysl-readline) se utiliza en lugar de la pura Rubí rb-readline porque esta última depende de los comandos que no están disponibles en FreeBSD.
- Compatibilidad # flat_map Enumerable se mejora.
- La línea de comandos opción de ayuda y -Xhelp se mejora.
¿Qué hay de nuevo en la versión 2.5.2:
- El bloqueo en la máquina virtual alrededor de tenedor y tenedor / exec (por ejemplo, para Process.spawn o Kernel # `) ha sido mejorada.
- Cuando se ejecuta, por ejemplo, Process.spawn o Kernel # `, el estado de subproceso se lee de una tubería en el proceso padre. Esta lectura puede ser interrumpido por el sistema. La interrupción se lee ahora se maneja adecuadamente.
- En FreeBSD, el Readline C-ext (rubysl-readline) se utiliza en lugar de la pura Rubí rb-readline porque esta última depende de los comandos que no están disponibles en FreeBSD.
- Compatibilidad # flat_map Enumerable se mejora.
- La línea de comandos opción de ayuda y -Xhelp se mejora.
¿Qué es la nueva en la versión 2.4.0:
- Soporte para File.fnmatch FNM_EXTGLOB se ha añadido.
- Mariscal trata los valores devueltos por métodos inmediatos _dump personalizado.
- núcleo # caller_locations. # Kernel llama ahora es compatible con un límite
- argumento.
- clases ErrNo puede tener subclases.
- Un problema causado por la central de dios, donde Dios la fuerza
- cerrar todos los descriptores de fichero en el proceso de 3 a 256, se ha mitigado.
- Anteriormente, este problema podría causar Rubinius para colgar cuando se ejecuta dios y
- exec'ing un subproceso.
- Rubinius :: Metrics.data.to_hash ahora re-utiliza una instancia de hash en lugar de
- crear uno nuevo en cada llamada.
Se ha añadido
¿Qué es la nueva en la versión 2.3.0:
- argumentos de palabras clave (ambos opcionales y obligatorios) están soportados .
- Rubinius leerá opciones de configuración de la caquexia crónica -X / .rbxrc.
- La infraestructura básica se ha añadido para siempre en las métricas de Rubinius
- subsistemas.
- Rubinius proporciona una interfaz para la instalación de syslog.
- La infraestructura para Rubinius :: consola ha sido añadido.
- El apoyo a la construcción de forma automática LLVM de la fuente, o el acceso a un
- binario pre-construida de LLVM se ha eliminado.
¿Qué es la nueva en la versión 2.2.9:
- Pre-instalado gema envoltorios binarios son archivos ejecutables.
Lo que es nuevo en la versión 2.2.2:
- Un problema se soluciona manejando la memoria al analizar un Bignum .
- Mejora de analizar un Bignum.
- El C-API proporciona la función rb_intern_str.
- El C-API proporciona la función rb_int_positive_pow.
- Un problema se soluciona con Kernel.local_variables y eval.
- Un problema se soluciona con File.realdirpath.
- Kernel # dir se implementa.
- Un problema se soluciona asignando objetos hilo.
- Un problema se soluciona objetos de bloqueo.
- La versión opción Configurar controles llvm --llvm-ruta.
- Módulo # const_get resuelve los nombres calificados como ':: A :: B'
- dependencias de gemas Bootstrap se incluyen para mini_portile.
- El estado close_on_exec se establece para los nuevos descriptores de fichero.
- El C-API proporciona la función rb_fix_fd_cloexec.
- El modificador 't' se apoya en los modos de archivo.
- Un punto muerto en el arranque del hilo es fijo.
- El programa configurado "hacer" se utiliza llvm edificio.
- Una condición de carrera en el cierre de rosca es fijo.
¿Qué hay de nuevo en la versión 2.2.1:.
- Alta falta de dep arranque
- Añadido gemas de arranque para CodeLoader lista blanca.
- gemas añadidas para bundler bootstrapping.
- El paso del Untag Módulo # {module_function, privado, protegido, públicas} espec
- Módulo de Actualización # {module_function, privado, protegido, público} para eval
- Fijar una especificación para compartir # Módulo pública con eval
- Eliminar las etiquetas de especificaciones no utilizados
- El paso del Untag Excepción # set_backtrace
- Fix Excepción # set_backtrace por la variedad de argumentos
- Agregar excepción especificaciones # set_backtrace de argumentos extraños
- Corregir un error tipográfico especificación de Excepción # set_backtrace
- Actualización de etiquetas CI.
espec
¿Qué hay de nuevo en la versión 1.2.4:
- Contiene un gran número de errores y correcciones de compatibilidad como así como un puñado de mejoras en el rendimiento.
Requisitos
- Rubí 1.9.2 o superior
Limitaciones .
- No apoyo de Windows
Comentarios que no se encuentran