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
