Lansarea SBCL 2.4.1 (Steel Bank Common Lisp), o implementare gratuită a limbajului de programare Common Lisp, a fost publicată. Codul proiectului este scris în Common Lisp și C și este distribuit sub licența BSD.
În noua versiune:
- S-a adăugat suport parțial pentru anteturile de instanță compacte la colectorul de gunoi paralel folosind algoritmul mark-region.
- Pentru funcțiile cu tipuri de returnare declarate, modurile mari de optimizare SAFETY și DEBUG 3 asigură că verificarea tipului este efectuată pe valorile returnate.
- Pe platforma FreeBSD, conectarea cu libpthread este implementată și randomizarea spațiului de adrese (ASLR) este dezactivată.
- Ansamblul pe arhitecturile riscv și ppc pe 64 de biți a fost restaurat.
- Suportul Fastrem-32 a fost implementat pentru toate platformele (pentru calcule FLOOR optimizate).
- S-a remediat o eroare care a cauzat ca liniile mutate să fie din nou eliminate după compactarea memoriei de către colectorul de gunoi paralel al regiunii de marcare.
- Problema cu bucla compilatorului la procesarea unor construcții cu tipuri SATISFIES a fost rezolvată.
- Tabelele hash utilizate în diferite părți ale sistemului (pachete, tabele Unicode) sunt convertite pentru a utiliza funcții hash care sunt lipsite de coliziuni (perfect).
- Macrograma TYPECASE pentru ierarhiile structurii de clasă este implementată folosind un hash fără coliziuni.
- Pentru a optimiza performanța, verificările limitelor au fost eliminate pentru indici cu decalaje constante, unde compilatorul știe că indexul este mai mic decât diferența dintre dimensiune și offset.
- Compilatorul ia în considerare date suplimentare de optimizare DIGIT-CHAR.
- Compilatorul a implementat abilitatea de a exclude valorile intermediare în unele apeluri APPLY, CONCATENATE și MAKE-ARRAY pentru argumente construite din secvențe cu modificări noi.
- Funcționarea buclei „(LOOP FOR X IN (REVERSE LIST) ...)” a fost accelerată, care acum utilizează mai puține contra.
- Bucla „(LOOP... APPEND...)” este mai compactă și lucrează mai puțin atunci când adăugați NIL.
- Verificările de tip pentru diferite matrice au fost accelerate și scurtate.
Sursa: opennet.ru
