SBCL 2.4.2 release, implementation of the Common Lisp language

Ilmus SBCL 2.4.2 (Steel Bank Common Lisp), tasuta Common Lisp programmeerimiskeele realiseerimine. Projekti kood on kirjutatud Common Lisp ja C keeltes ning jagatakse BSD litsentsi alusel.

Uues väljaandes:

  • Süsteemi enda-ülevaatus x86-64 Linuxi süsteemides toob esile bitiliselt identseid ristkompileeritud fasl-e seal, kus koostamishostiks on cmucl, ccl, clisp või SBCL ise.
  • Optimeerimised:
    • Suur hulk sisetabeleid, sealhulgas need, mis on seotud Unicode toe, on muudetud collision-free hash funktsioonide kasutamiseks, mis on parandanud kiirus ja vähendanud suurust.
    • FIND, POSITION, ASSOC ja RASSOC lõputu järjestuse argumentidega, mis sisaldavad sümboleid võtmena, kompileeritakse nüüd otsimiseks collision-free hash-ide abil.
    • x86-64 süsteemides on kompilaatoris kõrvaldatud jump-to-jump üleminek.
  • Vigade parandamine:
    • Taasisutati võimalus pärida nii SEQUENCE'ilt kui ka SB-MOP: FUNCALLABLE-STANDARD-OBJECT'ilt.
    • COERCE ei muuda lambda vorme funktsioonideks, kui esitatud tüübi nimi on FUNCTION'i alamklass.
    • LOG double-float ja ratsionaalsete argumentidega (sõltumata järjestusest) ei kaota täpsust läbi vahepealse single-float argumentide.
    • LOG kahe baasi täisarvulise kahekordse tõusu tõenäoliselt annab matemaatiliselt täpse vastuse.
    • LOG ratsionaalsetest numberitest, mis on lähedal ühele ja mille numerator või denominator on lähedal kahekordse tõusu, kasutavad log1p ja seega kaotavad vähem täpsust.
    • UTF-8 välisformaat Unix'i lõppudega uuendab selle sümbolite suuruste info, kui kasutatakse kiiret teed ASCII-sümbolite jaoks.
    • Tõenäoliselt ei trükitud sisu enam mitte kehtivate dünaamiliselt olemasolevate cons-ide kohta PRINT-OBJECT meetodis THREAD objektide jaoks.
    • Püsiv väliste funktsioonide punktide paiknemine enne muid kohalikke funktsioone.
    • Eemaldatakse mitteaktiivsed optimeerimise märkused tsitaatide vormide ja üheainsa APPEND kutse kõrge kiirusel.
    • Lõputu tsükkel COPY-SEQ nullpikkuses massiivides, mille elementide tüüp on NIL.
    • Struktuuri konstruktorite kompileerimise parandused mitteülemises tasemes.
  • Parandused SB-SIMD's:
    • SB-SIMD piiri kontrollimise täiustamine.
    • SB-SIMD AVX f64.4-reverse parandamine.
    • SB-SIMD segamine AVX ja SSE2 peale.
    • Eluea parandamine sse+xmm0 VOP-des.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster