Paskelbtas SBCL 2.4.1 (Steel Bank Common Lisp), nemokamas Common Lisp programavimo kalbos diegimas, leidimas. Projekto kodas parašytas Common Lisp ir C kalbomis ir platinamas pagal BSD licenciją.
Naujame leidime:
- Pridėtas dalinis kompaktiškų egzempliorių antraščių palaikymas lygiagrečiam šiukšlių surinkėjui, naudojant žymėjimo regiono algoritmą.
- Funkcijoms su deklaruotais grąžinimo tipais dideli SAFETY ir DEBUG 3 optimizavimo režimai užtikrina, kad grąžinimo vertės būtų tikrinamos.
- FreeBSD platformoje yra įdiegtas susiejimas su libpthread ir išjungtas adresų erdvės atsitiktinumas (ASLR).
- 64 bitų riscv ir ppc architektūros surinkimas buvo atkurtas.
- Fastrem-32 palaikymas įdiegtas visoms platformoms (optimizuotiems FLOOR skaičiavimams).
- Ištaisyta klaida, dėl kurios perkeltos linijos buvo iš naujo išplautos po to, kai atmintį sutankino žymės regiono lygiagretus šiukšlių surinkėjas.
- Problema, susijusi su kompiliatoriaus kilpa apdorojant kai kurias konstrukcijas su SATISFIES tipais, buvo išspręsta.
- Įvairiose sistemos dalyse naudojamos maišos lentelės (paketai, Unicode lentelės) konvertuojamos į maišos funkcijas, kuriose nėra susidūrimų (tobula).
- Klasių struktūros hierarchijų makrokomanda TYPECASE yra įgyvendinta naudojant maišą be susidūrimų.
- Siekiant optimizuoti našumą, indeksų su pastoviais poslinkiais ribų patikrinimai buvo pašalinti, kai kompiliatorius žino, kad indeksas yra mažesnis už skirtumą tarp dydžio ir poslinkio.
- Kompiliatorius atsižvelgia į papildomus DIGIT-CHAR optimizavimo duomenis.
- Kompiliatorius įdiegė galimybę neįtraukti tarpinių reikšmių kai kuriuose APPLY, CONCATENATE ir MAKE-ARRAY kvietimuose pateikti argumentus, sudarytus iš sekų su naujais trūkumais.
- Ciklo „(LOOP FOR X IN (REVERSE LIST) ...)“ veikimas buvo pagreitintas, o tai dabar naudoja mažiau trūkumų.
- Ciklas „(LOOP... APPEND...)“ yra kompaktiškesnis ir atlieka mažiau darbo pridedant NIL.
- Įvairių masyvų tipų tikrinimas buvo pagreitintas ir sutrumpintas.
Šaltinis: opennet.ru