Izdanje SBCL 2.4.1, implementacije Common Lisp jezika

Objavljeno je izdanje SBCL 2.4.1 (Steel Bank Common Lisp), besplatne implementacije programskog jezika Common Lisp. Kod projekta je napisan u Common Lisp-u i C-u, a distribuira se pod BSD licencom.

U novom izdanju:

  • Dodata je djelomična podrška za kompaktna zaglavlja instance u paralelni sakupljač smeća koristeći algoritam za označavanje regije.
  • Za funkcije s deklariranim tipovima povrata, veliki načini optimizacije SAFETY i DEBUG 3 osiguravaju da se provjera tipa vrši na povratnim vrijednostima.
  • Na FreeBSD platformi implementirano je povezivanje sa libpthread-om, a randomizacija adresnog prostora (ASLR) je onemogućena.
  • Sklop na 64-bitnoj riscv i ppc arhitekturi je vraćen.
  • Fastrem-32 podrška je implementirana za sve platforme (za optimizovane FLOOR proračune).
  • Ispravljena greška koja je uzrokovala ponovno ispiranje pomjerenih linija nakon sažimanja memorije od strane paralelnog sakupljača smeća mark-region.
  • Rešen je problem sa zapetljavanjem kompajlera prilikom obrade nekih konstrukcija sa ZADOVOLJNIM tipovima.
  • Heš tabele koje se koriste u različitim delovima sistema (paket, Unicode tabele) se konvertuju da koriste heš funkcije koje nemaju kolizije (savršeno).
  • Makro TYPECASE za hijerarhije strukture klasa implementiran je korištenjem hash-a bez kolizija.
  • Radi optimizacije performansi, provjere granica su uklonjene za indekse sa konstantnim pomacima, gdje kompajler zna da je indeks manji od razlike između veličine i pomaka.
  • Kompajler uzima u obzir dodatne podatke optimizacije DIGIT-CHAR.
  • Kompajler je implementirao mogućnost isključivanja međuvrijednosti u nekim pozivima APPLY, CONCATENATE i MAKE-ARRAY za argumente konstruirane od sekvenci sa svježim modifikacijama cons.
  • Rad petlje “(LOOP FOR X IN (REVERSE LIST) ...)” je ubrzan, koji sada koristi manje kontra.
  • Petlja "(LOOP... APPEND...)" je kompaktnija i ima manje posla kada se dodaje NIL.
  • Provjere tipova za različite nizove su ubrzane i skraćene.

izvor: opennet.ru

Dodajte komentar