Veröffentlichung von SBCL 2.4.2, Implementierungen der Programmiersprache Common Lisp

Die Veröffentlichung von SBCL 2.4.2 (Steel Bank Common Lisp), einer freien Implementierung der Programmiersprache Common Lisp, ist erfolgt. Der Code des Projekts ist in den Sprachen Common Lisp und C geschrieben und steht unter der BSD-Lizenz.

In der neuen Version:

  • Die Kompilierung durch das System selbst auf x86-64 mit Linux erzeugt jetzt bitgenau identische, plattformĂŒbergreifend kompilierte fasl-Dateien, wenn die Build-Host cmucl, ccl, clisp oder sbcl selbst ist.
  • Optimierungen:
    • Eine große Anzahl interner Tabellen, insbesondere die, die die Unicode-UnterstĂŒtzung betreffen, wurde auf die Verwendung von kollisionsfreien Hash-Funktionen (perfect) umgestellt, was die Geschwindigkeit verbessert und die GrĂ¶ĂŸe reduziert hat.
    • FIND, POSITION, ASSOC und RASSOC mit Argumenten unverĂ€nderlicher Sequenzen, die Symbole als SchlĂŒssel enthalten, werden nun zum Suchen mit kollisionsfreien Hashes kompiliert.
    • In x86-64-Systemen wurde der Sprung von Jump zu Jump im Compiler behoben.
  • Fehlerbehebungen:
    • Die Möglichkeit, sowohl von SEQUENCE als auch von SB-MOP:FUNCALLABLE-STANDARD-OBJECT zu erben, wurde wiederhergestellt.
    • COERCE konvertiert Lambda-Formen nicht in Funktionen, wenn der angegebene Typ ein Untertyp von FUNCTION ist.
    • LOG mit double-float und rationalen Argumenten (in beliebiger Reihenfolge) verliert durch ein zwischenzeitliches single-float-Argument keine PrĂ€zision.
    • LOG zur Basis 2 einer ganzzahligen Potenz von zwei gibt höchstwahrscheinlich eine mathematisch exakte Antwort.
    • LOG auf rationalen Zahlen, die nahe bei Eins mit ZĂ€hler oder Nenner nahe einer Potenz von zwei sind, verwendet log1p und verliert somit weniger PrĂ€zision.
    • Das externe Format utf-8 mit Unix-Zeilenenden aktualisiert die Informationen zu seinen ZeichengrĂ¶ĂŸen, wenn der Schnellmodus fĂŒr ASCII-Zeichenpuffer verwendet wird.
    • Der Inhalt möglicherweise nicht mehr gĂŒltiger dynamisch existierender cons-Zellen wurde in der METHOD PRINT-OBJECT fĂŒr THREAD-Objekte nicht ausgegeben.
    • StĂ€ndige Platzierung externer Einstiegspunkte fĂŒr Funktionen vor allen anderen lokalen Funktionen.
    • Entfernung inaktiver Optimierungsbemerkungen fĂŒr kommagetrennte Formulare und Einzelaufrufe von APPEND mit hoher Geschwindigkeit.
    • Eine Endlosschleife in COPY-SEQ bei Arrays der LĂ€nge null mit dem Elementtyp NIL.
    • Fehlerbehebung beim Kompilieren von Strukturkonstruktoren auf oberster Ebene.
  • Fehlerbehebungen in SB-SIMD:
    • Verbesserung der GrenzwertĂŒberprĂŒfung in SB-SIMD.
    • Fehlerbehebung von SB-SIMD AVX f64.4-reverse.
    • Fehlerbehebung beim Mischen in SB-SIMD auf AVX und SSE2.
    • Fehlerbehebung der Lebensdauer in sse+xmm0 VOPs.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster