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 - это король скорости в режиме реального времени для работы с рубином.

Другие вопросы по тегам