Lëshimi i SBCL 2.4.1, një zbatim i gjuhës Common Lisp

Është publikuar publikimi i SBCL 2.4.1 (Steel Bank Common Lisp), një zbatim falas i gjuhës programuese Common Lisp. Kodi i projektit është shkruar në Common Lisp dhe C, dhe shpërndahet nën licencën BSD.

Në publikimin e ri:

  • U shtua mbështetje e pjesshme për kokat e instancës kompakte në grumbulluesin paralel të mbeturinave duke përdorur algoritmin e rajonit të shenjës.
  • Për funksionet me lloje të deklaruara të kthimit, mënyrat e mëdha të optimizimit SAFETY dhe DEBUG 3 sigurojnë që kontrollimi i tipit të kryhet në vlerat e kthyera.
  • Në platformën FreeBSD, lidhja me libpthread zbatohet dhe randomizimi i hapësirës së adresave (ASLR) është i çaktivizuar.
  • Asambleja në arkitekturat riscv dhe ppc 64-bitëshe është restauruar.
  • Mbështetja Fastrem-32 është zbatuar për të gjitha platformat (për llogaritjet e optimizuara të FLOOR).
  • Rregulloi një defekt që shkaktoi që linjat e zhvendosura të rinoheshin pas ngjeshjes së memories nga mbledhësi paralel i plehrave të zonës së shenjës.
  • Problemi me lidhjen e përpiluesit gjatë përpunimit të disa ndërtimeve me tipe SATISFIES është zgjidhur.
  • Tabelat hash të përdorura në pjesë të ndryshme të sistemit (pako, tabela Unicode) konvertohen për të përdorur funksione hash që janë pa përplasje (perfekte).
  • Makroja TYPECASE për hierarkitë e strukturës së klasave zbatohet duke përdorur një hash pa përplasje.
  • Për të optimizuar performancën, kontrollet e kufijve janë hequr për indekset me zhvendosje konstante, ku përpiluesi e di se indeksi është më i vogël se diferenca midis madhësisë dhe kompensimit.
  • Përpiluesi merr parasysh të dhëna shtesë të optimizimit DIGIT-CHAR.
  • Përpiluesi ka zbatuar aftësinë për të përjashtuar vlerat e ndërmjetme në disa thirrje APPLY, CONCATENATE dhe MAKE-ARRAY për argumente të ndërtuara nga sekuenca me modifikime të reja kundër.
  • Është përshpejtuar funksionimi i ciklit "(LOOP FOR X IN (REVERSE LIST) ...)", i cili tani përdor më pak kundër.
  • Cikli "(LOOP... APPEND...)" është më kompakt dhe bën më pak punë kur shtohet NIL.
  • Kontrollet e tipit për grupe të ndryshme janë përshpejtuar dhe shkurtuar.

Burimi: opennet.ru

Shto një koment