Lansarea SBCL 2.4.1, implementarea limbajului Common Lisp

A fost lansată versiunea SBCL 2.4.1 (Steel Bank Common Lisp), o implementare liberă a limbajului de programare Common Lisp. Codul proiectului este scris în limbajele Common Lisp și C, și este distribuit sub licența BSD.

În noua versiune:

  • În colectorul de gunoi paralel, care utilizează algoritmul mark-region, a fost adăugată suport parțial pentru anteturile instanțelor compacte.
  • Pentru funcțiile cu tipuri de returnare declarate, în modurile de optimizare cu valori mari de SAFETY și în modul DEBUG 3, se asigură verificarea tipului pentru valorile returnate.
  • Pe platforma FreeBSD s-a realizat legarea cu libpthread și a fost dezactivată întâmplarea spațiului de adresare (ASLR).
  • S-a restabilit construcția pe arhitecturi de 64 de biți riscv și ppc.
  • Pentru toate platformele, s-a implementat suport pentru fastrem-32 (pentru calcule optimizate FLOOR).
  • S-a eliminat o eroare care ducea la curățarea repetată a liniilor mutate după compactarea memoriei prin colectorul de gunoi paralel mark-region.
  • S-a rezolvat problema cu ciclarea compilatorului la procesarea unor construcții cu tipurile SATISFIES.
  • Tabelele hash utilizate în diverse părți ale sistemului (pachete, tabele Unicode) au fost transformate pentru a folosi funcții hash fără coliziuni (perfecte).
  • Macro UL TYPECASE pentru ierarhiile structurilor de clase a fost implementat folosind un hash fără coliziuni.
  • Pentru a optimiza performanța, au fost eliminate verificările de limită pentru indexurile cu ofseturi constante, atunci când compilatorul știe că indexul este mai mic decât diferența dintre dimensiune și ofset.
  • În compilator, au fost luate în considerare date suplimentare despre optimizarea DIGIT-CHAR.
  • În compilator a fost implementată posibilitatea de a exclude valorile intermediare în unele apeluri APPLY, CONCATENATE și MAKE-ARRAY pentru argumente construite din succesiuni cu modificări fresh cons.
  • A fost accelerată executarea ciclului „(LOOP FOR X IN (REVERSE LIST) …)”, care acum folosește mai puține cons-uri.
  • Ciclul „(LOOP … APPEND …)” a devenit mai compact și efectuează mai puțină muncă la adăugarea NIL.
  • Verificările de tip pentru diverse array-uri au fost accelerate și reduse.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster