Vydání SBCL 2.4.2, implementace jazyka Common Lisp

Byl vydán release SBCL 2.4.2 (Steel Bank Common Lisp), svobodné implementace programovacího jazyka Common Lisp. Kód projektu je napsán v jazycích Common Lisp a C a je distribuován pod licencí BSD.

V novém vydání:

  • Kompilace systémem sama-sobě na systémech x86-64 s Linuxem nyní vytváří bitově identické kros-kompilované fasl tam, kde je hostitelský systém cmucl, ccl, clisp nebo samotný sbcl.
  • Optimalizace:
    • Velké množství vnitřních tabulek, zejména těch, které se týkají podpory Unicode, bylo převedeno na použití hash funkcí bez kolizí (perfect), což zlepšilo rychlost a zmenšilo velikost.
    • FIND, POSITION, ASSOC a RASSOC s argumenty neměnné sekvence obsahující symboly jako klíče jsou nyní kompilovány pro vyhledávání s použitím bezkolizních hashů.
    • Na systémech x86-64 byl v kompilátoru zajištěn odstranění přechodu jump-to-jump.
  • Opravy chyb:
    • Byla obnovena možnost dědění jak od SEQUENCE, tak od SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
    • COERCE nebude konvertovat lambda formy na funkce, pokud je zadané jméno typu podtřídou FUNCTION.
    • LOG s argumenty double-float a racionálními argumenty (v jakémkoli pořadí) neztrácí přesnost prostřednictvím mezilehlého single-float argumentu.
    • LOG se základem 2 jako celé číslo mocniny dvou pravděpodobně poskytne matematicky přesnou odpověď.
    • LOG na racionálních číslech blízkých jedničce s čitatelem nebo jmenovatelem blízkým mocnině dvou používá log1p a tím pádem ztrácí méně přesnosti.
    • Externí formát utf-8 s unixovými ukončeními řetězců aktualizuje informace o velikosti jeho znaků při aplikaci rychlé cesty pro ASCII znakové buffery.
    • Obsah pravděpodobně neplatných dynamicky existujících consů se nevytištěl v metodě PRINT-OBJECT pro THREAD objekty.
    • Stálé umístění externích bodů vstupu pro funkce před jakýmikoli jinými lokálními funkcemi.
    • Odstranění neaktivních poznámek optimalizace pro uvozovkované formy a jednotlivé volání APPEND při vysoké rychlosti.
    • Nekonečná smyčka v COPY-SEQ na polích nulové délky s typem prvků NIL.
    • Oprava kompilace konstruktorů struktur ne nejvyšší úrovně.
  • Opravy v SB-SIMD:
    • Vylepšení kontroly hranic v SB-SIMD.
    • Oprava SB-SIMD AVX f64.4-reverse.
    • Oprava míchání SB-SIMD na AVX a SSE2.
    • Oprava doby života v sse+xmm0 VOP-ách.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster