Vydanie SBCL 2.4.1, implementácia jazyka Common Lisp

Bolo zverejnené vydanie SBCL 2.4.1 (Steel Bank Common Lisp), voľnej implementácie programovacieho jazyka Common Lisp. Kód projektu je napísaný v jazykoch Common Lisp a C a je distribuovaný pod licenciou BSD.

V novom vydaní:

  • Pridaná čiastočná podpora pre hlavičky kompaktných inštancií do paralelného zberača odpadu pomocou algoritmu mark-region.
  • Pre funkcie s deklarovanými návratovými typmi zaisťujú veľké optimalizačné režimy SAFETY a DEBUG 3, že kontrola typu sa vykonáva na návratových hodnotách.
  • Na platforme FreeBSD je implementované prepojenie s libpthread a je zakázaná randomizácia adresného priestoru (ASLR).
  • Zostava na 64-bitových architektúrach riscv a ppc bola obnovená.
  • Podpora Fastrem-32 bola implementovaná pre všetky platformy (pre optimalizované výpočty FLOOR).
  • Opravená chyba, ktorá spôsobovala opätovné vyprázdnenie presunutých riadkov po zhutnení pamäte paralelným zberačom odpadkov mark-region.
  • Problém so zacyklením kompilátora pri spracovaní niektorých konštrukcií s typmi SATISFIES bol vyriešený.
  • Hashovacie tabuľky používané v rôznych častiach systému (balíčky, Unicode tabuľky) sú konvertované na používanie hašovacích funkcií, ktoré sú bez kolízií (perfektné).
  • Makro TYPECASE pre hierarchie štruktúry tried je implementované pomocou bezkolízneho hashu.
  • Na optimalizáciu výkonu boli odstránené kontroly hraníc pre indexy s konštantnými posunmi, kde kompilátor vie, že index je menší ako rozdiel medzi veľkosťou a posunom.
  • Kompilátor berie do úvahy ďalšie optimalizačné údaje DIGIT-CHAR.
  • Kompilátor implementoval možnosť vylúčiť stredné hodnoty v niektorých výzvach APPLY, CONCATENATE a MAKE-ARRAY pre argumenty zostavené zo sekvencií s novými modifikáciami nevýhod.
  • Prevádzka slučky „(LOOP FOR X IN (REVERSE LIST) ...)“ bola zrýchlená, čo teraz využíva menej nevýhod.
  • Slučka "(LOOP... APPEND...)" je kompaktnejšia a pri pridávaní NIL robí menej práce.
  • Typové kontroly pre rôzne polia boli zrýchlené a skrátené.

Zdroj: opennet.ru

Pridať komentár