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