stringtranslate.com

MagLev (software)

MagLev es una implementación alternativa del lenguaje de programación Ruby creado en la máquina virtual GemStone/S de GemTalk Systems . Gran parte de Maglev se diseñó para que se escribiera en Ruby tanto como fuera posible, lo que dio lugar a cierta colaboración con el proyecto Rubinius. A partir de la primera versión beta, el proyecto ejecuta RubyGems 1.3.5 de forma nativa, con soporte para extensiones C y Smalltalk . MagLev tiene una arquitectura de máquina virtual distintiva que le permite compartir código y datos entre entornos de ejecución y ciclos de ejecución a través de una API de Ruby. [2]

Arquitectura

Maglev se ejecuta dentro de una imagen como Smalltalk , ofreciendo persistencia de objetos transparente [3] [ verificación fallida ] [4] a objetos y clases Ruby. La persistencia de objetos se basa en transacciones ACID que permiten que múltiples instancias en ejecución vean un gráfico de objetos compartido. Maglev utiliza un modelo de concurrencia basado en procesos, asignando subprocesos Ruby a procesos Smalltalk [5] [ fuente autopublicada? ] , que se programan en la VM como subprocesos verdes . El uso de MagLev debería producir aumentos de rendimiento al usar Ruby, además de permitir que los procesos Ruby en múltiples máquinas usen los mismos objetos al mismo tiempo. [6]

Instalación

MagLev se instala con RVM, utilizando los siguientes fragmentos de código, copiados directamente desde maglev github. [7]

Instalación de tren maglev rvmRVM utiliza maglev

El estado se puede comprobar mediante

estado del tren de levitación magnética

Compatibilidad con Ruby

Maglev tiene como objetivo Ruby 1.8.7 y ejecuta una cantidad significativa de RubySpec . Admite varias extensiones de C, incluidas Nokogiri , JSON y bcrypt .

Recursos de piedras preciosas/S

Referencias

  1. ^ "Acuerdos de licencia". raw.githubusercontent.com . Consultado el 21 de febrero de 2023 .
  2. ^ "Ruby distribuido con la máquina virtual MagLev - igvita.com". www.igvita.com . Consultado el 21 de febrero de 2023 .
  3. ^ "Guía de programación para GemStone/S 64 Bit versión 1" (PDF) , VMware , julio de 2012 , consultado el 29 de julio de 2012
  4. ^ "MagLev – Persistencia de objetos con Ruby y Smalltalk" (PDF) , tesis de licenciatura, Hasso Plattner Institute , 1 de julio de 2013 , consultado el 22 de febrero de 2014
  5. ^ Phoenix, Evan (14 de octubre de 2011), "Ruby, Concurrency, and You", Blog de Engine Yard , consultado el 29 de julio de 2012
  6. ^ "Lanzamiento de MagLev Alpha: una nueva implementación escalable de Ruby". www.rubyinside.com . Consultado el 21 de febrero de 2023 .
  7. ^ "Introducción al MagLev".

Enlaces externos