Lanzamiento de SBCL 2.4.2, implementación del lenguaje Common Lisp.

Se ha publicado la versión SBCL 2.4.2 (Steel Bank Common Lisp), una implementación libre del lenguaje de programación Common Lisp. El código del proyecto está escrito en los lenguajes Common Lisp y C, y se distribuye bajo la licencia BSD.

En esta nueva versión:

  • La compilación de la propia system en arquitecturas x86-64 con Linux ahora produce fasl que son idénticos a nivel de bits cuando el host de construcción es cmucl, ccl, clisp o el mismo sbcl.
  • Optimizaciones:
    • Un gran número de tablas internas, en particular aquellas relacionadas con el soporte de Unicode, se han convertido para usar funciones hash sin colisiones (perfectas), lo que ha mejorado la velocidad y reducido el tamaño.
    • FIND, POSITION, ASSOC y RASSOC con argumentos de secuencia inmutable que contienen símbolos como claves ahora se compilan para búsqueda utilizando hashes sin colisiones.
    • En sistemas x86-64, el compilador ha eliminado la transición de salto a salto.
  • Correcciones de errores:
    • Se ha restaurado la capacidad de heredar tanto de SEQUENCE como de SB-MOP:FUNCALLABLE-STANDARD-OBJECT.
    • COERCE no convertirá las formas lambda en funciones si el tipo de nombre especificado es una subclase de FUNCTION.
    • LOG con argumentos double-float y argumentos racionales (en cualquier orden) no pierde precisión a través de un argumento intermedio de tipo single-float.
    • LOG en base 2 de una potencia entera de dos probablemente dará una respuesta matemáticamente precisa.
    • LOG en números racionales cercanos a uno con numeradores o denominadores cercanos a potencias de dos utilizará log1p y, por lo tanto, perderá menos precisión.
    • El formato externo utf-8 con terminaciones de línea Unix actualiza la información sobre el tamaño de sus caracteres al aplicar una ruta rápida para buffers de caracteres ASCII.
    • No se imprimió el contenido de cons-dinámicos probablemente no válidos en el método PRINT-OBJECT para objetos THREAD.
    • Ubicación constante de puntos de entrada externos para funciones antes de cualquier otra función local.
    • Eliminación de notas de optimización inactivas para formas entre comillas y llamadas unitarias a APPEND a alta velocidad.
    • Bucle infinito en COPY-SEQ en arreglos de longitud cero con tipo de elementos NIL.
    • Corrección en la compilación de constructores de estructuras no de nivel superior.
  • Correcciones en SB-SIMD:
    • Mejora de la verificación de límites en SB-SIMD.
    • Corrección de SB-SIMD AVX f64.4-reverse.
    • Corrección en la barajadura de SB-SIMD en AVX y SSE2.
    • Corrección de la duración de vida en VOPs sse+xmm0.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster