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

Utgivningen av SBCL 2.4.1 (Steel Bank Common Lisp), en gratis implementering av programmeringsspråket Common Lisp, har publicerats. Projektkoden är skriven i Common Lisp och C, och distribueras under BSD-licensen.

I den nya utgåvan:

  • Lade till partiellt stöd för kompakta instansrubriker till den parallella sopsamlaren med hjälp av mark-region-algoritmen.
  • För funktioner med deklarerade returtyper säkerställer de stora optimeringslägena SAFETY och DEBUG 3 att typkontroll utförs på returvärden.
  • På FreeBSD-plattformen implementeras länkning med libpthread och adressutrymmesrandomisering (ASLR) är inaktiverat.
  • Sammansättningen på 64-bitars riscv- och ppc-arkitekturer har återställts.
  • Fastrem-32-stöd har implementerats för alla plattformar (för optimerade FLOOR-beräkningar).
  • Fixade en bugg som gjorde att flyttade linjer spolades igen efter minneskomprimering av den parallella sopsamlaren för markregionen.
  • Problemet med kompilatorns looping vid bearbetning av vissa konstruktioner med SATISFIES-typer har lösts.
  • Hashtabeller som används i olika delar av systemet (paket, Unicode-tabeller) konverteras till att använda hashfunktioner som är fria från kollisioner (perfekt).
  • TYPECASE-makrot för klassstrukturhierarkier implementeras med hjälp av en kollisionsfri hash.
  • För att optimera prestanda har gränskontroller tagits bort för index med konstanta offsets, där kompilatorn vet att indexet är mindre än skillnaden mellan storlek och offset.
  • Kompilatorn tar hänsyn till ytterligare DIGIT-CHAR-optimeringsdata.
  • Kompilatorn har implementerat möjligheten att utesluta mellanliggande värden i vissa APPLY-, CONCATENATE- och MAKE-ARRAY-anrop för argument konstruerade från sekvenser med färska nackdelar.
  • Driften av slingan "(LOOP FOR X IN (REVERSE LIST) ...)" har accelererats, vilket nu använder färre nackdelar.
  • "(LOOP... APPEND...)"-slingan är mer kompakt och gör mindre arbete när man lägger till NIL.
  • Typkontroller för olika arrayer har påskyndats och förkortats.

Källa: opennet.ru

Lägg en kommentar