Будет ли Ruby или другой язык работать на Parrot быстрее? - PullRequest
7 голосов
/ 23 октября 2010

Я только что увидел, что есть компилятор Ruby to Parrot с именем Cardinal, который может создавать код для запуска на Parrot, которая является виртуальной машиной, которая может выполнять байт-код. Как производительность Ruby или любого языка компилируется и запускается там, потому что, например, в Ruby, вероятно, нет предварительно скомпилированного байтового кода. Может ли он работать быстрее на Parrot? Python, вероятно, будет лучше работать, поскольку он имеет .pyc.

Ответы [ 2 ]

4 голосов
/ 23 октября 2010

Parrot разработка еще не сфокусирована на оптимизации.Дорожная карта всегда перечисляла это в версии 3 или 4 (Parrot в настоящее время в версии 2.9).

Большая ветвь рефакторинга, которая включает в себя удаление JIT и замену его новым.в настоящее время происходит (ссылки: Lorito & JITRewrite ).

Плоды этого должны начать проявляться как часть Parrot 3.0, которая, я думаю, должна выйти следующей весной.


Обновление

Вероятная дорожная карта была опубликована разработчиком Parrot в его блоге .Вот краткое изложение того, что он думает о следующих трех годах:

  • 3.0 - Новый сборщик мусора
  • 3.3 - Прототип Lorito
  • 4.0 - Метамодель нового объекта
  • 5.0 - Новый JIT
  • 6.0 - Новая система параллелизма

/ I3az /

1 голос
/ 23 октября 2010

Редактировать: я смотрел на более старые результаты, когда доступны новые .Что касается самых последних тестов, которые все еще довольно стары, то попугай выигрывает у vanilla vm в нескольких тестах, но медленнее в других.Несколько тестов, которые он даже не может завершить.

yarv - это король скорости, требующий практического использования для работы с рубином.

...