Выпуск Rakudo Star 2016.11, дистрибутива Perl 6

Доступен релиз пакета Rakudo Star 2016.11, включающего компилятор Rakudo, виртуальную машину MoarVM, документацию, модули и инструменты, необходимые для разработки на языке Perl 6. Компилятор соответствует спецификации Perl v6.c, за исключением поддержки расширенных макросов, неблокирующего ввода/вывода и ряда мелких особенностей, которые планируется довести до рабочего состояния в будущих выпусках. В качестве виртуальной машины для исполнения байткода предлагается MoarVM, которая проходит все тесты (альтернативный бэкенд на базе JVM пока не обладает всей необходимой функциональностью).

В новой версии основное внимание уделено работе над ошибками и оптимизации производительности. Из изменений можно отметить улучшение средств вывода предупреждений и ошибок, обеспечение сборки MoarVM в любых выпусках macOS, возможность сборки Rakudo в Solaris. В конструктор объектов добавлен субметод TWEAK, добавлена процедура parse-base, добавлен метод форматирования времени DateTime.hh-mm-ss, представлены итераторы Iterator.skip-one и Iterator.skip-at-least.

Из оптимизаций выделяется ускорение работы slip (@a) в 1.2 раза, сокращение времени инициализации массивов, ускорение работы Str.match в режиме »: nth» в два раза, ускорение работы Str.comb (Regex) в семь раз, ускорение операций Str.subst/subst-mutate на 30%, ускорение Match.Str|prematch|postmatch в два раза, ускорение опекраций »~~ /foo/» с хэшами и списками в два раза, увеличение производительности подстановок «Str:», «type:», «Range:», «Int:», «Seq:», «Hash:» в 1.5–14 раз, ускорение работы IO: Spec: Unix.canonpath в 7–50 раз, увеличение скорости копирования массивов в 10–20 раз, ускорение доступа к двумерным и трёхмерным массивам в 7 раз.

© OpenNet