Ruby или другой язык будут работать быстрее на Parrot?
Я только что увидел, что есть Рубин Parrot
Компилятор называется Cardinal
, который может создать код для запуска Parrot
, которая является виртуальной машиной, которая может выполнять байт-код. Как производительность Ruby или любого языка компилируется и запускается там, потому что, например, в Ruby, вероятно, нет предварительно скомпилированного байтового кода. Это может быть быстрее работает на Parrot
? Python, вероятно, будет лучше работать, как он есть, потому что он имеет.pyc.
2 ответа
Parrot
разработка еще не сфокусирована на оптимизации. Дорожная карта всегда перечисляла это в версии 3 или 4 (Parrot
в настоящее время в версии 2.9).
В настоящее время происходит большая ветвь рефакторинга, которая включает в себя удаление JIT и замену его новым (refs: Lorito & JITRewrite).
Плоды этого должны начать проявляться в рамках Parrot 3.0, который, я думаю, выйдет следующей весной.
Обновить
Вероятный план был опубликован разработчиком Parrot в своем блоге. Вот краткое изложение того, что он думает, возможно, следующие 3 года:
- 3.0 - Новый сборщик мусора
- 3.3 - прототип Лорито
- 4.0 - Новая метамодель объекта
- 5.0 - новый JIT
- 6.0 - Новая система параллелизма
/I3az/
Изменить: я смотрел на старые результаты, когда новые доступны. Что касается самых последних тестов, которые все еще довольно стары, то попугай выигрывает у vanilla vm в нескольких тестах, но медленнее в других. Несколько тестов, которые он даже не может завершить.
Yarv - это король скорости в режиме реального времени для работы с рубином.