Rilis SBCL 2.4.1, implementasi dari bahasa Common Lisp

Rilis SBCL 2.4.1 (Steel Bank Common Lisp), sebuah implementasi gratis dari bahasa pemrograman Common Lisp, telah diterbitkan. Kode proyek ditulis dalam bahasa Common Lisp dan C, dan didistribusikan di bawah lisensi BSD.

Dalam rilis baru:

  • Menambahkan dukungan parsial untuk header instans ringkas ke pengumpul sampah paralel menggunakan algoritma mark-region.
  • Untuk fungsi dengan tipe pengembalian yang dideklarasikan, mode optimasi SAFETY dan DEBUG 3 yang besar memastikan bahwa pemeriksaan tipe dilakukan pada nilai pengembalian.
  • Pada platform FreeBSD, penautan dengan libpthread diterapkan dan pengacakan ruang alamat (ASLR) dinonaktifkan.
  • Perakitan pada arsitektur riscv dan ppc 64-bit telah dipulihkan.
  • Dukungan Fastrem-32 telah diterapkan untuk semua platform (untuk penghitungan FLOOR yang dioptimalkan).
  • Memperbaiki bug yang menyebabkan saluran yang dipindahkan dibilas ulang setelah pemadatan memori oleh pengumpul sampah paralel wilayah tanda.
  • Masalah perulangan kompiler saat memproses beberapa konstruksi dengan tipe SATISFIES telah teratasi.
  • Tabel hash yang digunakan di berbagai bagian sistem (paket, tabel Unicode) diubah menggunakan fungsi hash yang bebas benturan (sempurna).
  • Makro TYPECASE untuk hierarki struktur kelas diimplementasikan menggunakan hash bebas tabrakan.
  • Untuk mengoptimalkan kinerja, pemeriksaan batas telah dihapus untuk indeks dengan offset konstan, di mana kompiler mengetahui bahwa indeks lebih kecil dari perbedaan antara ukuran dan offset.
  • Kompiler memperhitungkan data optimasi DIGIT-CHAR tambahan.
  • Kompiler telah mengimplementasikan kemampuan untuk mengecualikan nilai perantara dalam beberapa panggilan APPLY, CONCATENATE dan MAKE-ARRAY untuk argumen yang dibangun dari urutan dengan modifikasi kontra baru.
  • Pengoperasian loop β€œ(LOOP FOR X IN (REVERSE LIST)…)” telah dipercepat, yang sekarang menggunakan lebih sedikit kontra.
  • Loop "(LOOP... APPEND...)" lebih ringkas dan bekerja lebih sedikit saat menambahkan NIL.
  • Pemeriksaan tipe untuk berbagai array telah dipercepat dan dipersingkat.

Sumber: opennet.ru

Tambah komentar