SBCL 2.4.1, bendrosios Lisp kalbos įgyvendinimo, išleidimas

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

Добавить комментарий