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

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

#

Выпуск SBCL 2.4.2, реализации языка Common Lisp
Дата публикации:Thu, 29 Feb 2024 22:30:32 +0300




Опубликован выпуск SBCL 2.4.2 (Steel Bank Common Lisp), свободной реализации языка программирования Common Lisp. Код проекта написан на языках Common Lisp и Си, и распространяется под лицензией BSD.



В новом выпуске:
  • Компиляция системой самой-себя на системах x86-64 c Linux теперь производит побитово-идентичные кросс-компилированные fasl-ы там, где сборочным хостом является cmucl, ccl, clisp или сам sbcl.

    Оптимизации:

    Большое число внутренних таблиц, в частности те, которые относятся к поддержке Unicode были переведены на использование хеш функций, избавленных от коллизий (perfect), что улучшило скорость и сократило размер.
    FIND, POSITION, ASSOC и RASSOC с аргументами неизменной последовательности, содержащими символы в роли ключей, теперь компилируются для поиска с применением хешей, избавленных от коллизий.
    На системах x86-64 в компиляторе обеспечено устранение перехода jump-to-jump.
Исправления ошибок:
  • Восстановлена возможность наследования и от SEQUENCE и от SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
    COERCE не будет конвертировать лямбда формы в функции если заданное название типа будет подклассом FUNCTION.
    LOG с аргументами double-float и рациональными аргументами (в любом порядке) не теряет точности через промежуточный single-float-аргумент.
    LOG по основанию 2 целочисленной степени двойки вероятнее всего даст математически точный ответ.
    LOG на рациональных числах близких к единице с числителем или знаменателем близким к степени двойки будут использовать log1p и, таким образом, будет терять меньше точности.
    Внешний формат utf-8 с Unix-окончаниями строки обновляет информацию его размеров символов при применении быстрого пути для буферов ASCII-символов.
    Не печаталось содержимое вероятно более не валидных динамически существующих cons-ов в методе PRINT-OBJECT для THREAD объектов.
    Постоянное размещение внешних точек входа для функций перед любыми другими локальными функциями.
    Удаление неактивных замечаний оптимизации для закавыченных форм и единичных вызовов APPEND на высокой скорости.
    Бесконечный цикл в COPY-SEQ на массивах нулевой длины с типом элементов NIL.
    Исправление компиляции конструкторов структур не верхнего уровня.
Исправления в SB-SIMD:
  • Улучшение проверки границ в SB-SIMD.
    Исправление SB-SIMD AVX f64.4-reverse.
    Исправление тасования SB-SIMD на AVX и SSE2.
    Исправление времени жизни в sse+xmm0 VOP-ах.


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

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

Ответить