Какую версию VM следует использовать в Linux для Pharo/Seaside?
Если я не ошибаюсь, ту, которая загружается с помощью apt-get (на которую ссылается seaside book) — это Squeak VM.
Стоит ли предпочесть Cog-VM? Если да, то почему?
какая версия ВМ на Linux
Ответы (2)
В случае Seaside вы можете загрузить предварительно скомпилированное изображение Pharo с веб-сайта Seaside (они называется «Опыт одним щелчком»), что является самым простым способом запуска образа. Виртуальная машина, распространяемая в Seaside One-Click, представляет собой CogVM.
В мире Squeak и Pharo есть три виртуальные машины:
- StackVM: реализует оптимизированные замыкания и сопоставление контекста со стеком.
- CogVM: StacVM + JIT (компиляция Just-In-Time) + PIC (полиморфные встроенные кэши)
- CogVMMT: CogVM + многопоточность
Вы можете попробовать проверить последнюю версию CogVM для Linux. также с веб-сайта Pharo. Самые последние находятся на веб-сайте разработчика.
По своему опыту я обнаружил, что CogVM действительно быстрее, чем StackVM, хотя и нестабильны для работы с большими данными (чтение и обработка 2 ТБ CSV) или отладки сложных потоков. Это не означает, что вы не можете запускать проекты с большими данными, просто иногда они могут потерпеть неудачу в зависимости от того, как далеко вы продвинулись. С другой стороны, виртуальные машины StackVM более зрелые и являются лучшим местом для изучения того, как модифицировать виртуальные машины, поскольку основное внимание в CogVM уделяется оптимизации.
Если вы используете Ubuntu, есть простой в использовании PPA: http://www.pharo.org/pharo-download/ubuntu