Lanzamiento de SBCL 2.4.1, implementación del lenguaje Common Lisp

Se ha publicado la versión SBCL 2.4.1 (Steel Bank Common Lisp), una implementación gratuita 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:

  • Se ha añadido soporte parcial para encabezados de instancias compactas en el recolector de basura paralelo que utiliza el algoritmo mark-region.
  • Para las funciones con tipos de retorno declarados en modos de optimización con altos valores de SAFETY y en modo DEBUG 3, se ha garantizado que se realice la verificación de tipo para los valores de retorno.
  • En la plataforma FreeBSD, se ha implementado un ensamblador con libpthread y se ha desactivado la aleatorización del espacio de direcciones (ASLR).
  • Se ha restaurado la compilación en arquitecturas de 64 bits riscv y ppc.
  • Se ha implementado soporte para fastrem-32 (para cálculos optimizados de FLOOR) en todas las plataformas.
  • Se ha corregido un error que provocaba la limpieza repetida de las filas trasladadas después de la compactación de memoria por parte del recolector de basura paralelo mark-region.
  • Se ha solucionado un problema con el bucle infinito del compilador al procesar algunas construcciones con tipos SATISFIES.
  • Las tablas hash utilizadas en varias partes del sistema (paquetes, tablas Unicode) se han transformado para utilizar funciones hash sin colisiones (perfectas).
  • El macro TYPECASE para jerarquías de clases de estructuras se ha implementado utilizando un hash sin colisiones.
  • Con el fin de optimizar el rendimiento, se han eliminado las comprobaciones de límites para índices con desplazamientos constantes, cuando el compilador sabe que el índice es menor que la diferencia entre el tamaño y el desplazamiento.
  • El compilador ha tenido en cuenta datos adicionales sobre la optimización DIGIT-CHAR.
  • El compilador ha implementado la posibilidad de excluir valores intermedios en algunas llamadas a APPLY, CONCATENATE y MAKE-ARRAY para argumentos construidos a partir de secuencias con modificaciones cons frescas.
  • Se ha acelerado el ciclo «(LOOP FOR X IN (REVERSE LIST) …)», que ahora utiliza menos cons.
  • El ciclo «(LOOP … APPEND …)» se ha vuelto más compacto y realiza menos trabajo al agregar NIL.
  • Se han acelerado y reducido las comprobaciones de tipos de varios arreglos.

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