Выпуск SBCL 2.4.1, реализации языка Common Lisp

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3252
Зарегистрирован: 20.08.2022

#

Выпуск SBCL 2.4.1, реализации языка Common Lisp
Дата публикации:Mon, 05 Feb 2024 12:38:23 +0300




Опубликован выпуск 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.
    Ускорены и сокращены проверки типов различных массивов.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60554

Жизнь за Нер'зула!

Ответить