Utgivelse av SBCL 2.4.1, en implementering av Common Lisp-språket

Utgivelsen av SBCL 2.4.1 (Steel Bank Common Lisp), en gratis implementering av programmeringsspråket Common Lisp, har blitt publisert. Prosjektkoden er skrevet i Common Lisp og C, og distribueres under BSD-lisensen.

I den nye utgivelsen:

  • Den parallelle søppelinnsamleren som bruker mark-region-algoritmen har fått delvis støtte for kompakte instansoverskrifter.
  • For funksjoner med deklarerte returtyper, i optimaliseringsmoduser med store SAFETY-verdier og i DEBUG 3-modus, utføres nå typekontroll på returverdier.
  • På FreeBSD-plattformen er kobling med libpthread implementert og adresseromsrandomisering (ASLR) er deaktivert.
  • Samlingen på 64-bits riscv- og ppc-arkitekturer er gjenopprettet.
  • Støtte for fastrem-32 (for optimaliserte FLOOR-beregninger) er implementert for alle plattformer.
  • Fikset en feil som førte til at flyttede rader ble tømt igjen etter minnekomprimering av den parallelle søppelinnsamleren i mark-regionen.
  • Fikset et problem med kompilatorløkken ved behandling av enkelte konstruksjoner med SATISFIES-typer.
  • Hash-tabeller som brukes i ulike deler av systemet (pakker, Unicode-tabeller) har blitt konvertert til å bruke kollisjonsfrie (perfekte) hash-funksjoner.
  • TYPECASE-makroen for klassestrukturhierarkier implementeres ved hjelp av en kollisjonsfri hash.
  • For å optimalisere ytelsen er grensesjekking fjernet for indekser med konstante forskyvninger når kompilatoren vet at indeksen er mindre enn forskjellen mellom størrelsen og forskyvningen.
  • Kompilatoren tar hensyn til tilleggsdata om DIGIT-CHAR-optimalisering.
  • Kompilatoren har nå muligheten til å eliminere mellomverdier i noen APPLY-, CONCATENATE- og MAKE-ARRAY-kall for argumenter konstruert fra sekvenser med nye cons-modifikasjoner.
  • Løkken «(LOOP FOR X IN (REVERSE LIST) ...)» har blitt raskere og bruker nå færre konstanter.
  • Løkken «(LOOP … APPEND …)» har blitt mer kompakt og gjør mindre arbeid når man legger til NIL.
  • Sjekker av typer av ulike arrayer har blitt fremskyndet og forkortet.

Kilde: opennet.ru

Legg til en kommentar