Джаретт Биллингсли наконец-то закрыл milestone MiniD 2. Его комментарии:
Пожалуй самое большое изменение в MiniD 2 это то, что он имеет собственный сборщик мусора(с минимальными аллокациями в куче D, так как некоторые вещи не под моим контролем)(прим. перев. - напомним что miniD 1 полагался на сборщик мусора tango что вело к вызову глобального сборщика во всей программе, каждый раз когда это требовалось лишь в скриптовой части). Как следствие имеем более полный Lua-like stack-based API, таким образом сборщик мусора MiniD знает что на какие данные есть ссылки а на какие нет. Предварительные тесты показали что новая реализация быстрее старой, особенно что касается выделения памяти под объекты, и это при том что сам сборщик мусора далек от идеала и слабо оптимизирован.
Интересно, что всего лишь один аспект - “собственный сборщик мусора” привел к кардинальным изменениям во всех остальных частях библиотеки. Практически каждый аспект старой реализации подвергся редизайну или как минимум механической переделке. Снова и снова я убеждаюсь в гениальности и продуманности Lua
Стоит отметить что одна из наиболее важных частей MiniD - библиотека биндингов еще не готова до конца(насколько я понял пока можно только привязывать свободные функции), но это наверное единственная недоделанная вещь. Тем не менее все желающие встроить скрипты в свои приложения могут начинать использовать miniD 2, хотя бы с целью быстрого отлова ошибок и прочих неприятных вещей :-)