SBCL 2.4.2 väljaanne, Common Lispi keele teostus

Avalikustati SBCL 2.4.2 (Steel Bank Common Lisp), avatud rakenduse Common Lispi programmeerimiskeele rakendus. Projekti kood on kirjutatud keeltesse Common Lisp ja C ning seda levitatakse BSD litsentsi alusel.

Uues väljaandes:

  • Enda enda süsteemiga kompileerimine x86-64 Linuxi süsteemides toodab nüüd bitiliselt identseid ristkompileeritud fasl-failide, kui kokkupanekuks on cmucl, ccl, clisp või ise sbcl.
  • Optimeeritud:
    • Suure hulga sisetabelite, sealhulgas Unicode'i toe tabelite, toimetamine on üleminekut teinud rikka asjakohaste hash-funktsioonide poole, mis on vabad kokkutõmbumistest (perfect), mis on parandanud kiirus ja vähendanud suurust.
    • FIND, POSITION, ASSOC ja RASSOC argumendiks olevatele muutmatutele järjestustele, mis sisaldavad sümboleid võtmetena, kompileeritakse nüüd hashide kasutamiseks, mis on vabad kokkutõmbumistest.
    • x86-64 süsteemides on kompilaatoris kõrvaldatud hüpetest hüppesse ülemineku võimalus.
  • Veaparandused:
    • Rollback on taastatud SEQUENCE ja SB-MOP:FUNCALLABLE-STANDARD-OBJECT pärandava võimaluse olemasolu.
    • COERCE ei konverteeri lambda vorme funktsioonideks, kui antud tüübi nimi on FUNCTION-i alamklass.
    • LOG double-float ja ratsionaalsete argumentidega (mis tahes järjekorras) ei kaota täpsust vahepealses single-float argumendis.
    • LOG kahe terviku astme põhjal tõenäoliselt annab matemaatiliselt täpse vastuse.
    • LOG ratsionaalsetele arvudele, mis on lähedased ühele, numeraatoriga või nimetajas, mis on lähedane kahe astmele, kasutavad log1p, seega kaotavad vähem täpsust.
    • UTF-8 väline formaat Unix'i ridade lõppudega värskendab sümbolite suuruste teavet, kui kasutatakse kiireid teid ASCII-sümbolite puutude jaoks.
    • Tõenäoliselt ei trükitud kehtetuks osutunud dünaamiliselt eksisteerivate cons-de sisu PRINT-OBJECT meetodis THREAD objektide jaoks.
    • Püsiv väline sisenemispunktide määramine funktsioonide jaoks enne kõiki teisi kohalikke funktsioone.
    • Eemaldamine mitteaktiivsetest optimeerimise märkustest tsiteeritud vormide ja üksikute APPEND kutsete kõrge kiirus.
    • Lõputu tsükkel COPY-SEQ nullpikkusega massiivides, mille elemendi tüüp on NIL.
    • Struktuuri konstruktorite kompileerimise parandamine mitteülemiste tasemete jaoks.
  • Parandused SB-SIMD-is:
    • SB-SIMD piiride kontrollimise täiustamine.
    • Parandamine SB-SIMD AVX f64.4-reverse.
    • Parandamine SB-SIMD segamine AVX ja SSE2.
    • Parandamine eluea jooksul sse+xmm0 VOP-ides.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster