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 ได้รับการแก้ไขแล้ว
- ตารางแฮชที่ใช้ในส่วนต่างๆ ของระบบ (แพ็คเกจ ตาราง Unicode) จะถูกแปลงให้ใช้ฟังก์ชันแฮชที่ไม่มีการชนกัน (สมบูรณ์แบบ)
- แมโคร TYPECASE สำหรับลำดับชั้นโครงสร้างคลาสถูกนำมาใช้โดยใช้แฮชที่ไม่มีการชนกัน
- เพื่อเพิ่มประสิทธิภาพการทำงาน การตรวจสอบขอบเขตได้ถูกลบออกสำหรับดัชนีที่มีค่าออฟเซ็ตคงที่ โดยที่คอมไพลเลอร์รู้ว่าดัชนีนั้นน้อยกว่าความแตกต่างระหว่างขนาดและออฟเซ็ต
- คอมไพเลอร์คำนึงถึงข้อมูลการปรับให้เหมาะสม DIGIT-CHAR เพิ่มเติม
- คอมไพเลอร์ได้ใช้ความสามารถในการยกเว้นค่ากลางในการเรียก APPLY, CONCATENATE และ MAKE-ARRAY บางส่วนสำหรับอาร์กิวเมนต์ที่สร้างจากลำดับที่มีการแก้ไขข้อเสียใหม่
- การทำงานของลูป “(LOOP FOR X IN (REVERSE LIST) ...)” ได้รับการเร่ง ซึ่งขณะนี้ใช้ข้อเสียน้อยลง
- ลูป "(LOOP... APPEND...)" มีขนาดกะทัดรัดกว่าและทำงานน้อยลงเมื่อเพิ่ม NIL
- การตรวจสอบประเภทสำหรับอาร์เรย์ต่างๆ ได้รับการเร่งและลดให้สั้นลง
ที่มา: opennet.ru