Objavljeno je izdanje SBCL 2.4.1 (Steel Bank Common Lisp), besplatne implementacije programskog jezika Common Lisp. Kod projekta je napisan u Common Lisp-u i C-u, a distribuira se pod BSD licencom.
U novom izdanju:
- Dodata je djelomična podrška za kompaktna zaglavlja instance u paralelni sakupljač smeća koristeći algoritam za označavanje regije.
- Za funkcije s deklariranim tipovima povrata, veliki načini optimizacije SAFETY i DEBUG 3 osiguravaju da se provjera tipa vrši na povratnim vrijednostima.
- Na FreeBSD platformi implementirano je povezivanje sa libpthread-om, a randomizacija adresnog prostora (ASLR) je onemogućena.
- Sklop na 64-bitnoj riscv i ppc arhitekturi je vraćen.
- Fastrem-32 podrška je implementirana za sve platforme (za optimizovane FLOOR proračune).
- Ispravljena greška koja je uzrokovala ponovno ispiranje pomjerenih linija nakon sažimanja memorije od strane paralelnog sakupljača smeća mark-region.
- Rešen je problem sa zapetljavanjem kompajlera prilikom obrade nekih konstrukcija sa ZADOVOLJNIM tipovima.
- Heš tabele koje se koriste u različitim delovima sistema (paket, Unicode tabele) se konvertuju da koriste heš funkcije koje nemaju kolizije (savršeno).
- Makro TYPECASE za hijerarhije strukture klasa implementiran je korištenjem hash-a bez kolizija.
- Radi optimizacije performansi, provjere granica su uklonjene za indekse sa konstantnim pomacima, gdje kompajler zna da je indeks manji od razlike između veličine i pomaka.
- Kompajler uzima u obzir dodatne podatke optimizacije DIGIT-CHAR.
- Kompajler je implementirao mogućnost isključivanja međuvrijednosti u nekim pozivima APPLY, CONCATENATE i MAKE-ARRAY za argumente konstruirane od sekvenci sa svježim modifikacijama cons.
- Rad petlje “(LOOP FOR X IN (REVERSE LIST) ...)” je ubrzan, koji sada koristi manje kontra.
- Petlja "(LOOP... APPEND...)" je kompaktnija i ima manje posla kada se dodaje NIL.
- Provjere tipova za različite nizove su ubrzane i skraćene.
izvor: opennet.ru