Izdanje SBCL 2.4.2, implementacije jezika Common Lisp

SBCL 2.4.2 (Steel Bank Common Lisp), besplatna implementacija programskog jezika Common Lisp, je objavljena. Kod projekta napisan je u Common Lispu i C-u i distribuira se pod BSD licencom.

U novom izdanju:

  • Kompajliranje samog sustava na x86-64 sustavima Linux sada proizvodi bitno identične unakrsno kompajlirane fasl datoteke gdje je glavni graditelj cmucl, ccl, clisp ili sam sbcl.
  • Optimizacije:
    • Velik broj internih tablica, posebno onih povezanih s Unicode podrškom, pretvoren je u savršene hash funkcije (funkcije bez kolizija), čime se poboljšava brzina i smanjuje veličina.
    • FIND, POSITION, ASSOC i RASSOC s nepromjenjivim argumentima niza koji sadrže znakove kao ključeve sada se kompajliraju za pretraživanje pomoću hashova bez kolizija.
    • Na x86-64 sustavima, kompajler omogućuje eliminaciju skokova.
  • Ispravke pogrešaka:
    • Vraćena je mogućnost nasljeđivanja iz SEQUENCE i SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
    • COERCE neće pretvoriti lambda forme u funkcije ako je zadani naziv tipa podklasa od FUNCTION.
    • LOG s argumentima s dvostrukim float i racionalnim argumentima (bilo kojim redoslijedom) ne gubi preciznost zbog međuargumenta s jednim float-om.
    • LOG na bazu 2 cijelog broja potencije dva najvjerojatnije će dati matematički točan odgovor.
    • LOG na racionalnim brojevima bliskim jedan s brojnikom ili nazivnikom bliskim potenciji dva koristit će log1p i stoga će izgubiti manje preciznosti.
    • Vanjski utf-8 format s Unix završecima redaka ažurira podatke o veličini znakova kada se koristi brzi put za ASCII međuspremnike znakova.
    • Sadržaj dinamički postojećih konstanti koje možda više nisu valjane nije ispisan u metodi PRINT-OBJECT za objekte THREAD.
    • Uvijek postavite vanjske ulazne točke za funkcije prije bilo kojih drugih lokalnih funkcija.
    • Uklonjene su neaktivne bilješke o optimizaciji za citirane obrasce i pojedinačne APPEND pozive velikom brzinom.
    • Beskonačna petlja u COPY-SEQ na nizovima nulte duljine s elementima tipa NIL.
    • Ispravljeno kompiliranje konstruktora struktura koje nisu na najvišoj razini.
  • Ispravci u SB-SIMD-u:
    • Poboljšana provjera granica u SB-SIMD-u.
    • Popravak SB-SIMD AVX f64.4-obrnuto.
    • Ispravljeno miješanje SB-SIMD-a na AVX i SSE2.
    • Ispravak za doživotno korištenje u sse+xmm0 VOP-ovima.

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster