Udgivelse af SBCL 2.4.1, en implementering af Common Lisp-sproget

Udgivelsen af ​​SBCL 2.4.1 (Steel Bank Common Lisp), en gratis implementering af Common Lisp-programmeringssproget, er blevet offentliggjort. Projektkoden er skrevet i Common Lisp og C, og distribueres under BSD-licensen.

I den nye udgivelse:

  • Tilføjet delvis understøttelse af kompakte instansheadere til den parallelle skraldeopsamler ved hjælp af mark-region-algoritmen.
  • For funktioner med deklarerede returtyper sikrer de store SAFETY og DEBUG 3 optimeringstilstande, at typekontrol udføres på returværdier.
  • På FreeBSD-platformen er linkning med libpthread implementeret, og adresserumsrandomisering (ASLR) er deaktiveret.
  • Samlingen på 64-bit riscv og ppc arkitekturer er blevet gendannet.
  • Fastrem-32-understøttelse er implementeret til alle platforme (til optimerede GULV-beregninger).
  • Rettede en fejl, der fik flyttede linjer til at blive tømt igen efter hukommelseskomprimering af den parallelle skraldeopsamler i markregionen.
  • Problemet med compiler-looping ved behandling af nogle konstruktioner med SATISFIES-typer er blevet løst.
  • Hash-tabeller brugt i forskellige dele af systemet (pakker, Unicode-tabeller) konverteres til at bruge hash-funktioner, der er fri for kollisioner (perfekt).
  • TYPECASE-makroen til klassestrukturhierarkier implementeres ved hjælp af en kollisionsfri hash.
  • For at optimere ydeevnen er grænsekontrol blevet fjernet for indekser med konstante offsets, hvor compileren ved, at indekset er mindre end forskellen mellem størrelse og offset.
  • Compileren tager højde for yderligere DIGIT-CHAR optimeringsdata.
  • Compileren har implementeret muligheden for at udelukke mellemværdier i nogle APPLY-, CONCATENATE- og MAKE-ARRAY-kald for argumenter konstrueret ud fra sekvenser med nye ulemper-modifikationer.
  • Driften af ​​løkken "(LOOP FOR X IN (REVERS LIST) ...)" er blevet fremskyndet, som nu bruger færre ulemper.
  • "(LOOP... APPEND...)"-løkken er mere kompakt og gør mindre arbejde, når der tilføjes NIL.
  • Typetjek for forskellige arrays er blevet fremskyndet og forkortet.

Kilde: opennet.ru

Tilføj en kommentar