Izdaja SBCL 2.4.2, implementacije jezika Common Lisp

Objavljeno je izda SBCL 2.4.2 (Steel Bank Common Lisp), svobodna implementacija jezika za programiranje Common Lisp. Kod projekta je napisan na jezicima Common Lisp i C, i distribuira se pod BSD licencom.

U novom izdanju:

  • Kompilacija sistema samog sebe na sistemima x86-64 sa Linuxom sada proizvodi bitovno identične kros-kompilirane fasl-ove tamo gde je građevinski host cmucl, ccl, clisp ili sam sbcl.
  • Optimizacije:
    • Veliki broj unutrašnjih tabela, posebno onih koje se odnose na podršku za Unicode je prebačen na korišćenje hash funkcija koje su oslobođene kolizija (perfect), što je poboljšalo brzinu i smanjilo veličinu.
    • FIND, POSITION, ASSOC i RASSOC sa argumentima nepromenljive sekvencije, koja sadrži simbole kao ključeve, sada se kompiliraju za pretragu koristeći hash-e oslobođene kolizija.
    • Na sistemima x86-64 u kompajleru je obezbeđeno uklanjanje prelaza jump-to-jump.
  • Ispravke grešaka:
    • Obnovljena je mogućnost nasleđivanja i od SEQUENCE i od SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
    • COERCE neće konvertovati lambda forme u funkcije ako je zadato ime tipa podklasa FUNCTION.
    • LOG sa argumentima double-float i racionalnim argumentima (u bilo kom redosledu) ne gubi preciznost kroz međufazni single-float argument.
    • LOG po bazi 2 sa celobrojnim stepenom dvojke verovatno će dati matematički tačan odgovor.
    • LOG na racionalnim brojevima koji su blizu jedinice sa brojlima bliskim stepenu dvojke će koristiti log1p i tako će gubiti manje preciznosti.
    • Spoljni format utf-8 sa Unix završecima redova ažurira informacije o veličini njegovih karaktera prilikom primene brze staze za ASCII karaktere.
    • Sadržaj verovatno nevalidnih dinamički postojećih cons-ova nije bio ispisan u metodi PRINT-OBJECT za THREAD objekte.
    • Stalno postavljanje spoljnih ulaza za funkcije ispred bilo kojih drugih lokalnih funkcija.
    • Uklanjanje neaktivnih komentara optimizacije za kvotirane forme i jedinstvene pozive APPEND na visokom broju.
    • Beskočna petlja u COPY-SEQ na nizovima nulte dužine sa tipom elemenata NIL.
    • Ispravka kompilacije konstruktora struktura ne gornjeg nivoa.
  • Ispravke u SB-SIMD:
    • Poboljšana provera granica u SB-SIMD.
    • Ispravka SB-SIMD AVX f64.4-reverse.
    • Ispravka mešanja SB-SIMD na AVX i SSE2.
    • Ispravka vremena života u sse+xmm0 VOP-ima.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster