Veröffentlichung von SBCL 2.4.1, einer Implementierung der Programmiersprache Common Lisp.

Die Version SBCL 2.4.1 (Steel Bank Common Lisp) wurde veröffentlicht, eine freie Implementierung der Programmiersprache Common Lisp. Der Projektcode ist in den Sprachen Common Lisp und C geschrieben und wird unter der BSD-Lizenz veröffentlicht.

In der neuen Version:

  • Der parallele Garbage Collector, der den mark-region-Algorithmus verwendet, hat teilweise Unterstützung für Header von kompakten Instanzen hinzugefügt.
  • Für Funktionen mit deklarierten Rückgabetyps wurde in Optimierungsmodi mit hohen SAFETY-Werten und im DEBUG-Modus 3 eine Typüberprüfung für Rückgabewerte sichergestellt.
  • Auf der Plattform FreeBSD wurde das Linking mit libpthread implementiert und die Adressraum-Randomisierung (ASLR) deaktiviert.
  • Der Build auf 64-Bit-Architekturen riscv und ppc wurde wiederhergestellt.
  • Für alle Plattformen wurde die Unterstützung von fastrem-32 (für optimierte FLOOR-Berechnungen) implementiert.
  • Ein Fehler wurde behoben, der zu einer mehrfachen Bereinigung von verschobenen Zeilen nach der Speicherverdichtung durch den parallelen Garbage Collector mark-region führte.
  • Ein Problem mit dem Hängenbleiben des Compilers bei der Verarbeitung bestimmter Konstrukte mit SATISFIES-Typen wurde gelöst.
  • Hash-Tabellen, die in verschiedenen Teilen des Systems (Pakete, Unicode-Tabellen) verwendet werden, sind für die Nutzung von Hash-Funktionen optimiert, die freie Kollisionen (perfekt) sind.
  • Das Makro TYPECASE für Hierarchien von Klassenstrukturen wurde mit kollisionsfreien Hashes implementiert.
  • Zur Leistungsoptimierung wurden die Grenzprüfungen für Indizes mit konstanten Offsets entfernt, wenn der Compiler weiß, dass der Index kleiner ist als die Differenz zwischen Größe und Offset.
  • Im Compiler wurden zusätzliche Optimierungsdaten für DIGIT-CHAR berücksichtigt.
  • Im Compiler wurde die Möglichkeit implementiert, intermediäre Werte in bestimmten Aufrufen von APPLY, CONCATENATE und MAKE-ARRAY für Argumente, die aus Sequenzen mit frischen cons-Änderungen bestehen, auszuschließen.
  • Die Ausführung der Schleife „(LOOP FOR X IN (REVERSE LIST) …)“ wurde beschleunigt und nutzt jetzt weniger cons.
  • Die Schleife „(LOOP … APPEND …)“ ist kompakter geworden und benötigt weniger Aufwand beim Hinzufügen von NIL.
  • Die Typprüfungen verschiedener Arrays wurden optimiert und verkürzt.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster