انتشار SBCL 2.4.1 (Steel Bank Common Lisp)، یک پیاده سازی رایگان از زبان برنامه نویسی Common Lisp، منتشر شد. کد پروژه با Common Lisp و C نوشته شده است و تحت مجوز BSD توزیع می شود.
در نسخه جدید:
- با استفاده از الگوریتم منطقه علامت گذاری، پشتیبانی جزئی از هدرهای نمونه فشرده به جمع کننده زباله موازی اضافه شد.
- برای توابع با انواع بازگشتی اعلام شده، حالت های بهینه سازی بزرگ SAFETY و DEBUG 3 تضمین می کنند که بررسی نوع در مقادیر برگشتی انجام می شود.
- در پلتفرم FreeBSD، پیوند با libpthread پیاده سازی شده و تصادفی سازی فضای آدرس (ASLR) غیرفعال است.
- اسمبلی در معماری های riscv و ppc 64 بیتی بازیابی شده است.
- پشتیبانی از Fastrem-32 برای همه پلتفرم ها (برای محاسبات بهینه FLOOR) اجرا شده است.
- رفع اشکالی که باعث میشد خطوط جابجا شده پس از فشردهسازی حافظه توسط زبالهگیر موازی منطقه علامتگذاری مجدداً شستشو شوند.
- مشکل حلقه شدن کامپایلر هنگام پردازش برخی از ساختارها با انواع SATISFIES حل شده است.
- جداول هش مورد استفاده در بخش های مختلف سیستم (بسته ها، جداول یونیکد) به استفاده از توابع هش بدون برخورد (عالی) تبدیل می شوند.
- ماکرو TYPECASE برای سلسله مراتب ساختار کلاس با استفاده از هش بدون برخورد پیاده سازی می شود.
- برای بهینهسازی عملکرد، بررسی کرانهها برای شاخصهایی با آفست ثابت حذف شدهاند، جایی که کامپایلر میداند که شاخص کمتر از تفاوت بین اندازه و افست است.
- کامپایلر داده های بهینه سازی DIGIT-CHAR اضافی را در نظر می گیرد.
- کامپایلر توانایی حذف مقادیر میانی را در برخی فراخوانیهای APPLY، CONCATENATE و MAKE-ARRAY برای آرگومانهای ساختهشده از دنبالههایی با تغییرات منفی جدید پیادهسازی کرده است.
- عملیات حلقه "(LOOP FOR X IN (REVERSE LIST) ...)" تسریع شده است که اکنون از معایب کمتری استفاده می کند.
- حلقه "(LOOP... APPEND...)" فشرده تر است و هنگام اضافه کردن NIL کار کمتری انجام می دهد.
- بررسی نوع آرایه های مختلف تسریع و کوتاه شده است.
منبع: opennet.ru