Udgivelse af SBCL 2.4.2, implementeringen af sproget Common Lisp

Udgaven SBCL 2.4.2 (Steel Bank Common Lisp), en fri implementering af programmeringssproget Common Lisp, er offentliggjort. Projektets kode er skrevet på sprogene Common Lisp og C, og distribueres under BSD-licensen.

I den nye version:

  • Kompilering af systemet selv på x86-64 med Linux producerer nu bit-for-bit identiske cross-kompilerede fasl'er, når build-værten er cmucl, ccl, clisp eller selve sbcl.
  • Optimeringer:
    • Et stort antal interne tabeller, især dem der relaterer sig til understøttelse af Unicode, er blevet oversat til at bruge kollisionsfrie hash-funktioner (perfekte), hvilket forbedrer hastigheden og reducerer størrelsen.
    • FIND, POSITION, ASSOC og RASSOC med argumenter af uforanderlige sekvenser, der indeholder symboler som nøgler, kompilere nu til søgning ved hjælp af kollisionsfrie hashes.
    • Compilerens håndtering af jump-to-jump overgange er blevet sikret på x86-64 systemer.
  • Fejlrettelser:
    • Muligheden for at arve fra både SEQUENCE og SB-MOP:FUNCALLABLE-STANDARD-OBJECT er genoprettet.
    • COERCE vil ikke konvertere lambda-udtryk til funktioner, hvis den angivne type er en underklasse af FUNCTION.
    • LOG med double-float og rationelle argumenter (i vilkårlig rækkefølge) mister ikke præcisionen gennem en midlertidig single-float-parameter.
    • LOG med base 2 for heltals potens af to vil sandsynligvis give et mathematically nøjagtigt svar.
    • LOG på rationelle tal tæt på enhed med nævner eller tæller tæt på en potens af to vil bruge log1p, og dermed miste mindre præcision.
    • Eksternt format utf-8 med Unix-linjeafslutninger opdaterer informationen om dens tegnstørrelser, når der anvendes en hurtig vej til ASCII-tegnbufre.
    • Indholdet af potentielt ikke længere gyldige dynamisk eksisterende cons'er blev ikke udskrevet i PRINT-OBJECT metoden for THREAD objekter.
    • Fast positionering af eksterne indgangspunkt for funktioner før nogen andre lokale funktioner.
    • Fjernelse af inaktive optimeringsbemærkninger for citerede former og enlige kald af APPEND ved høj hastighed.
    • Uendelig løkke i COPY-SEQ på arrays med nul længde af elementtypen NIL.
    • Retning af kompileringen af strukturkonstruktører, der ikke er øverste niveau.
  • Retter i SB-SIMD:
    • Forbedret grænsekontrol i SB-SIMD.
    • Ret i SB-SIMD AVX f64.4-reverse.
    • Ret i shuffling af SB-SIMD på AVX og SSE2.
    • Ret tidsholdbarhed i sse+xmm0 VOP'er.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster