Az SBCL 2.4.1 kiadása, a Common Lisp nyelv megvalósítása

Megjelent az SBCL 2.4.1 (Steel Bank Common Lisp), a Common Lisp programozási nyelv ingyenes megvalósítása. A projekt kódja Common Lisp és C nyelven íródott, és a BSD licenc alatt kerül terjesztésre.

Az új kiadásban:

  • A kompakt példányfejlécek részleges támogatása a párhuzamos szemétgyűjtőhöz a mark-region algoritmus használatával.
  • A deklarált visszatérési típusokkal rendelkező függvényeknél a nagy SAFETY és DEBUG 3 optimalizálási módok biztosítják, hogy a visszatérési értékek típusellenőrzésre kerüljenek.
  • A FreeBSD platformon a libpthread-el való hivatkozás megvalósul, és a címtér véletlenszerűsítése (ASLR) le van tiltva.
  • A 64 bites riscv és ppc architektúrák összeállítása helyreállt.
  • A Fastrem-32 támogatást minden platformon megvalósították (optimalizált FLOOR számításokhoz).
  • Kijavítottuk azt a hibát, amely miatt az áthelyezett vonalakat a memóriatömörítés után a jelölőrégió párhuzamos szemétgyűjtővel újra ki kellett üríteni.
  • Megoldódott a probléma a fordító hurkolásával, amikor néhány SATISFIES típusú konstrukciót dolgoz fel.
  • A rendszer különböző részein használt hash táblák (csomagok, Unicode táblák) ütközésmentes (tökéletes) hash függvényeket használnak.
  • Az osztályszerkezeti hierarchiák TYPECASE makrója ütközésmentes hash segítségével valósul meg.
  • A teljesítmény optimalizálása érdekében a korlátok ellenőrzését eltávolítottuk az állandó eltolású indexeknél, ahol a fordító tudja, hogy az index kisebb, mint a méret és az eltolás közötti különbség.
  • A fordító további DIGIT-CHAR optimalizálási adatokat vesz figyelembe.
  • A fordító megvalósította a köztes értékek kizárásának képességét egyes APPLY, CONCATENATE és MAKE-ARRAY kérésekben, hogy argumentumokat hozzon létre a szekvenciákból, amelyek új konsum módosításokat tartalmaznak.
  • A „(LOOP FOR X IN (REVERSE LIST) ...)” ciklus működése felgyorsult, ami mostanra kevesebb hátrányt használ.
  • A "(LOOP... APPEND...)" ciklus kompaktabb, és kevesebb munkát végez NIL hozzáadásakor.
  • A különféle tömbök típusellenőrzése felgyorsult és lerövidült.

Forrás: opennet.ru

Hozzászólás