SBCL 2.4.1 izlaišana, Common Lisp valodas ieviešana

Ir publicēts SBCL 2.4.1 (Steel Bank Common Lisp), bezmaksas Common Lisp programmēšanas valodas ieviešanas izlaidums. Projekta kods ir rakstīts Common Lisp un C valodās un tiek izplatīts saskaņā ar BSD licenci.

Jaunajā laidienā:

  • Pievienots daļējs atbalsts kompaktajām instanču galvenēm paralēlajam atkritumu savācējam, izmantojot marķēšanas reģiona algoritmu.
  • Funkcijām ar deklarētiem atgriešanas veidiem lielie SAFETY un DEBUG 3 optimizācijas režīmi nodrošina, ka atgriešanas vērtībām tiek veikta tipa pārbaude.
  • FreeBSD platformā ir ieviesta saite ar libpthread un ir atspējota adrešu telpas nejaušināšana (ASLR).
  • Ir atjaunota montāža 64 bitu riscv un ppc arhitektūrā.
  • Fastrem-32 atbalsts ir ieviests visām platformām (optimizētiem FLOOR aprēķiniem).
  • Novērsta kļūda, kuras dēļ pārvietotās līnijas tika atkārtoti izskalotas pēc atmiņas blīvēšanas, ko veicis atzīmes reģiona paralēlais atkritumu savācējs.
  • Problēma ar kompilatora cilpu, apstrādājot dažas konstrukcijas ar SATISFIES tipiem, ir atrisināta.
  • Dažādās sistēmas daļās (paketēs, Unikoda tabulās) izmantotās jaucēj tabulas tiek pārveidotas, lai izmantotu jaucējfunkcijas, kas ir bez sadursmēm (perfektas).
  • TYPECASE makro klašu struktūras hierarhijām tiek ieviests, izmantojot bez sadursmes jaucēju.
  • Lai optimizētu veiktspēju, ir noņemtas robežu pārbaudes indeksiem ar nemainīgām nobīdēm, kur kompilators zina, ka indekss ir mazāks par starpību starp lielumu un nobīdi.
  • Kompilators ņem vērā papildu DIGIT-CHAR optimizācijas datus.
  • Kompilators ir ieviesis iespēju izslēgt starpvērtības dažos APPLY, CONCATENATE un MAKE-ARRAY izsaukumos argumentiem, kas veidoti no sekvencēm ar jaunām mīnusu modifikācijām.
  • Tika paātrināta cilpas “(LOOP FOR X IN (REVERSE LIST) ...)” darbība, kas tagad izmanto mazāk mīnusu.
  • Cilpa "(LOOP... APPEND...)" ir kompaktāka un veic mazāk darba, pievienojot NIL.
  • Ir paātrinātas un saīsinātas dažādu masīvu veidu pārbaudes.

Avots: opennet.ru

Pievieno komentāru