Разработчики) | Системы GemTalk |
---|---|
Первый выпуск | 2008 ; 13 лет назад ( 2008 ) |
Стабильный выпуск | 1.2.0 Alpha 4/17 мая 2013 г. ( 2013-05-17 ) |
Репозиторий | |
Написано в | Smalltalk, Рубин |
Операционная система | Кроссплатформенность : Solaris, AIX, Linux, Mac OS X |
Платформа | GemStone / S |
Тип | Интерпретатор языка программирования Ruby |
Лицензия | MIT, GPL, другие |
Веб-сайт | Маглев.github.com |
MagLev - это альтернативная реализация языка программирования Ruby, построенная на виртуальной машине GemStone / S от GemTalk Systems. Большая часть Maglev должна была быть написана на Ruby, насколько это возможно, что привело к некоторому сотрудничеству с проектом Rubinius. Начиная с первой бета-версии, проект изначально запускает RubyGems 1.3.5 с поддержкой расширений C и Smalltalk. MagLev имеет отличную архитектуру виртуальной машины, которая позволяет ему обмениваться кодом и данными между средами выполнения и циклами выполнения через Ruby API.
Maglev работает внутри образа, такого как Smalltalk, предлагая прозрачную сохраняемость объектов для объектов и классов Ruby. Сохраняемость объектов основана на транзакциях ACID, которые позволяют нескольким запущенным экземплярам видеть общий граф объектов. Maglev использует модель параллелизма на основе процессов, сопоставляя потоки Ruby с процессами Smalltalk, которые запланированы на виртуальной машине как зеленые потоки. Использование MagLev должно повысить производительность при использовании Ruby, а также позволить процессам Ruby на нескольких машинах использовать одни и те же объекты одновременно.
MagLev устанавливается вместе с RVM с использованием следующих фрагментов кода, скопированных непосредственно из github maglev.
rvm install maglev rvm use maglev
Статус можно проверить с помощью
$ maglev status
Maglev нацелен на Ruby 1.8.7 и запускает значительное количество RubySpec. Он поддерживает несколько расширений C, включая Nokogiri, JSON и bcrypt.