Perl6 Rakudo Star: Почему установка занимает так много времени?

Я не пытаюсь ненавидеть Perl 6, но мне интересно, почему установка занимает так много времени по сравнению с Common Lisp. Заранее спасибо.

-comborico1611 20 апреля 2018 г.

Изменить: на моем ноутбуке, купленном 3 года назад, это занимает около 25-30 минут. Для сравнения, Common Lisp через Portacle занимает несколько минут, если даже это.

Обновление: 23 апреля 2018 г.

Меня попросили уточнить мой вопрос - хочу ли я узнать, как ускорить установку. Суть моего вопроса - «почему», а не «как» - вопрос любопытства, а не применения.

Я полагаю, что это был ответ Азсги, но я не уверен. Я не знал, что инсталляции строятся либо с нуля, либо с «готовой сборкой». Вероятно, поэтому он медленный.


person Clint    schedule 20.04.2018    source источник
comment
вы, вероятно, компилируете perl из scatch, в то время как вы используете готовые сборки для обычного lisp.   -  person Azsgy    schedule 20.04.2018
comment
Включаете ли вы запуск полного набора тестов спецификации и тестов для всех модулей во время установки?   -  person timotimo    schedule 21.04.2018
comment
Хех нет. Я пропустил тестирование. Я уже однажды проводил тестирование, и это длилось НАВСЕГДА! (час или больше)   -  person Clint    schedule 21.04.2018
comment
Пожалуйста, поясните немного свой вопрос. Вам нужны советы по ускорению процедуры установки, советы по ускорению в нынешнем виде?   -  person jjmerelo    schedule 21.04.2018
comment
К сожалению, это не совсем тема для Stack Overflow. Тем не менее, Perl 6 намного больше, чем большинство других языков.   -  person Brad Gilbert    schedule 21.04.2018
comment
Если время компиляции является проблемой, просто установите предварительно созданный rakudo. rakudo.org/files предлагает множество вариантов. Еще один, который в наши дни должен работать практически везде, - это образ Docker, hub.docker.com/ _ / rakudo-star   -  person moritz    schedule 22.04.2018


Ответы (2)


Если вы используете Linux, я предоставляю собственные пакеты и репозитории здесь: https://nxadm.github.io/rakudo-pkg/ (также ссылка на него с домашних страниц Perl6 и Rakudo).

На данный момент вы найдете пакеты Alpine, CentOS, Debian, Fedora, openSUSE и Ubuntu.

person nxadm    schedule 10.05.2018
comment
Большой! Если у меня уже есть рабочая предыдущая версия Perl 6, следует ли мне удалить ее перед добавлением исходного кода и установкой из него? - person Eugene Barsky; 10.05.2018
comment
rakudo-pkg является автономным: он устанавливает все в / opt / rakudo-pkg. Вам нужно будет обновить свой PATH, чтобы он указывал на двоичный файл perl6, который вы хотите использовать. После использования пакетов (или лучше: репозиториев) вы можете обновлять их, как и обычные пакеты. - person nxadm; 10.05.2018
comment
Идея rakudo-pkg не противоречит другим установкам rakudo, например rakudo, установленный дистрибутивом (например, / usr / bin / perl6) или Rakudo Star. - person nxadm; 10.05.2018
comment
Спасибо! Я попробую. - person Eugene Barsky; 10.05.2018

Поскольку у него очень быстрый стабильный цикл выпуска (каждый месяц) и быстрый цикл выпуска «звездочки» (каждые три месяца), в Linux рекомендуется, чтобы он был установлен из исходного кода. Это означает, что он компилируется с нуля в вашей конкретной системе и выполняется в два этапа: сначала MoarVM компилируется виртуальная машина, а затем компилятор Rakudo компилируется в код, который интерпретируется на этой виртуальной машине из ее Not Довольно Perl (который компилируется первым) и исходники Perl 6.

Это займет некоторое время, но в результате получится эффективная виртуальная машина, созданная на заказ, со всеми последними навороченными функциями и исправлениями ошибок.

Если вы не хотите ждать, есть много других вариантов, от двоичных файлов, созданных для разных дистрибутивов, до контейнеров Docker.

person jjmerelo    schedule 07.05.2018
comment
Каждый ежемесячный выпуск - это стабильный выпуск. Если что-то блокирует, релиз будет отложен. Трехмесячный выпуск - это просто Rakudo Star (так как ему нужно больше времени для стабилизации модулей, которые являются частью дистрибутива). (Я знаю, что вы знаете, @jjmerelo, просто чтобы уточнить). - person nxadm; 12.05.2018
comment
@nxadm изменил это. Спасибо за внимание. - person jjmerelo; 12.05.2018
comment
Также много времени уходит на тестирование и установку всех дополнительных модулей через zef. Обычно это занимает у меня больше времени, чем компиляция других частей. - person Tyil; 23.06.2018