Опубликован выпуск SBCL 2.4.1 (Steel Bank Common Lisp), свободной реализации языка программирования Common Lisp. Код проекта написан на языках Common Lisp и Си, и распространяется под лицензией BSD.
В новом выпуске:
- В параллельный сборщик мусора, использующий алгоритм mark-region, добавлена частичная поддержка заголовков компактных экземпляров.
- Для функций с объявленными возвращаемыми типами в режимах оптимизации с большими значениями SAFETY и в режиме DEBUG 3 обеспечено выполнение проверки типа для возвращаемых значений.
- На платформе FreeBSD реализована компоновка с libpthread и отключена рандомизация адресного пространства (ASLR).
- Восстановлена сборка на 64-х битных архитектурах riscv и ppc.
- Для всех платформ реализована поддержка fastrem-32 (для оптимизированных вычислений FLOOR).
- Устранена ошибка, приводившая к повторной очистке перемещённых строк после уплотнения памяти параллельным сборщиком мусора mark-region.
- Решена проблема с зацикливанием компилятора при обработке некоторых конструкций с типами SATISFIES.
- Хеш-таблицы, используемые в различных частях системы (пакеты, таблицы Unicode), преобразованы для использования хеш функций, избавленных от коллизий (perfect).
- Макрос TYPECASE для иерархий структур классов реализован с применением хеша без коллизий.
- С целью оптимизации производительности убраны проверки границ для индексов с постоянными смещениями, когда компилятор знает, что индекс меньше разницы между размером и смещением.
- В компиляторе учтены дополнительные данные об оптимизации DIGIT-CHAR.
- В компиляторе реализована возможность исключения промежуточных значений в некоторых вызовах APPLY, CONCATENATE и MAKE-ARRAY для аргументов, построенных из последовательностей со свежими cons-модификациями.
- Ускорена работа цикла «(LOOP FOR X IN (REVERSE LIST) …)», который теперь использует меньше cons-ов.
- Цикл «(LOOP … APPEND …)» стал компактнее и выполняет меньше работы при добавлении NIL.
- Ускорены и сокращены проверки типов различных массивов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60554