Izlazak SBCL 2.4.2, implementacija jezika Common Lisp

Objavljen je izdanak SBCL 2.4.2 (Steel Bank Common Lisp), slobodne implementacije programskog jezika Common Lisp. Kod projekta napisan je na jezicima Common Lisp i C, te se distribuira pod BSD licencom.

U novom izdanju:

  • Kompilacija sustavom samog sebe na x86-64 s Linuxom sada proizvodi bitovno identične kros-kompilirane fasl-ove gdje je graditeljski host cmucl, ccl, clisp ili sam sbcl.
  • Optimizacije:
    • Velik broj unutarnjih tablica, osobito onih koje se odnose na podršku Unicodeu, prebačen je na korištenje heš funkcija bez kolizija (perfect), što je poboljšalo brzinu i smanjilo veličinu.
    • FIND, POSITION, ASSOC i RASSOC s argumentima nepromjenjive sekvence, koja sadrži simbole kao ključeve, sada se kompajliraju za pretraživanje korištenjem heševa bez kolizija.
    • Na sustavima x86-64 u kompajleru osigurano je uklanjanje prijelaza jump-to-jump.
  • Ispravke grešaka:
    • Obnovljena je mogućnost nasljeđivanja i od SEQUENCE i od SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
    • COERCE neće pretvarati lambda forme u funkcije ako je zadano ime tipa podklasa FUNCTION.
    • LOG s argumentima double-float i racionalnim argumentima (u bilo kojem redu) ne gubi točnost putem privremenog single-float argumenta.
    • LOG s osnovom 2 i cijelim potenicama od 2 vjerojatno će dati matematički točan odgovor.
    • LOG na racionalnim brojevima bliskim jedinici s brojnicima ili nazivnicima bliskim poteci 2 koristit će log1p i, na taj način, gubit će manje točnosti.
    • Vanjski format utf-8 s Unix završecima linija ažurira informacije o veličinama njegovih simbola pri upotrebi brzog puta za ASCII simbola.
    • Sadržaj vjerojatno više nevaljanih dinamički postojećih cons-ova nije ispisivan u metodi PRINT-OBJECT za THREAD objekte.
    • Stalno postavljanje vanjskih ulaznih točaka za funkcije ispred svih drugih lokalnih funkcija.
    • Uklanjanje neaktivnih napomena optimizacije za citirane forme i jedinstvene pozive APPEND pri visokoj brzini.
    • Beskonacna petlja u COPY-SEQ na nizovima nulte duljine s tipom elemenata NIL.
    • Ispravak kompilacije konstruktora struktura ne najvišeg nivoa.
  • Ispravci u SB-SIMD:
    • Poboljšanje provjere granica u SB-SIMD.
    • Ispravak SB-SIMD AVX f64.4-reverse.
    • Ispravak miješanja SB-SIMD na AVX i SSE2.
    • Ispravak vremena života u sse+xmm0 VOP-ima.

Izvor: opennet.ru

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