Wydanie SBCL 2.4.1, implementacja języka Common Lisp

Opublikowano wydanie SBCL 2.4.1 (Steel Bank Common Lisp), wolnej implementacji języka programowania Common Lisp. Kod projektu napisany jest w językach Common Lisp i C i jest rozpowszechniany na licencji BSD.

W nowym wydaniu:

  • W równoległym zbieraczu śmieci, wykorzystującym algorytm mark-region, dodano częściowe wsparcie dla nagłówków kompaktowych instancji.
  • Dla funkcji z zadeklarowanymi typami zwracanymi w trybach optymalizacji z dużymi wartościami SAFETY oraz w trybie DEBUG 3 zapewniono wykonywanie sprawdzenia typu dla wartości zwracanych.
  • Na platformie FreeBSD zaimplementowano kompozycję z libpthread i wyłączono randomizację przestrzeni adresowej (ASLR).
  • Przywrócono kompilację na 64-bitowych architekturach riscv i ppc.
  • Dla wszystkich platform zaimplementowano wsparcie fastrem-32 (do zoptymalizowanych obliczeń FLOOR).
  • Usunięto błąd, który prowadził do ponownego czyszczenia przeniesionych wierszy po kompresji pamięci przez równoległy zbieracz śmieci mark-region.
  • Rozwiązano problem z zapętleniem kompilatora podczas przetwarzania niektórych konstrukcji z typami SATISFIES.
  • Tablice haszujące, używane w różnych częściach systemu (pakiety, tabele Unicode), zostały przekształcone do użycia funkcji haszujących pozbawionych kolizji (perfect).
  • Makar TYPECASE dla hierarchii struktur klas zaimplementowano z użyciem hasha bez kolizji.
  • W celu optymalizacji wydajności usunięto sprawdzenia granic dla indeksów z stałymi przesunięciami, gdy kompilator wie, że indeks jest mniejszy od różnicy między rozmiarem a przesunięciem.
  • W kompilatorze uwzględniono dodatkowe dane o optymalizacji DIGIT-CHAR.
  • W kompilatorze zaimplementowano możliwość wykluczania wartości pośrednich w niektórych wywołaniach APPLY, CONCATENATE i MAKE-ARRAY dla argumentów bazujących na sekwencjach z nowymi modyfikacjami cons.
  • Przyspieszono działanie pętli „(LOOP FOR X IN (REVERSE LIST) …)”, która teraz wykorzystuje mniej cons.
  • Pętla „(LOOP … APPEND …)” stała się bardziej kompaktowa i wykonuje mniej pracy przy dodawaniu NIL.
  • Przyspieszono i skrócono sprawdzenia typów różnych tablic.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster