Lançamento do SBCL 2.4.1, implementação da linguagem Common Lisp

Foi lançado o SBCL 2.4.1 (Steel Bank Common Lisp), uma implementação livre da linguagem de programação Common Lisp. O código do projeto é escrito nas linguagens Common Lisp e C, e é distribuído sob a licença BSD.

No novo lançamento:

  • O coletor de lixo paralelo, que utiliza o algoritmo mark-region, agora possui suporte parcial para cabeçalhos de instâncias compactas.
  • Para funções com tipos de retorno declarados em modos de otimização com altos valores de SAFETY e no modo DEBUG 3, foi garantida a verificação de tipo para os valores de retorno.
  • Na plataforma FreeBSD, foi implementada a ligação com libpthread e a randomização do espaço de endereçamento (ASLR) foi desativada.
  • A compilação em arquiteturas de 64 bits riscv e ppc foi restaurada.
  • Foi implementado suporte a fastrem-32 (para cálculos otimizados de FLOOR) em todas as plataformas.
  • Foi corrigido um erro que causava a limpeza repetida de linhas movidas após a compactação de memória pelo coletor de lixo paralelo mark-region.
  • Um problema de looping do compilador ao processar algumas construções com tipos SATISFIES foi solucionado.
  • As tabelas hash utilizadas em várias partes do sistema (pacotes, tabelas Unicode) foram convertidas para usar funções hash isentas de colisões (perfect).
  • O macro TYPECASE para hierarquias de estruturas de classes foi implementado utilizando uma hash isenta de colisões.
  • Para otimizar o desempenho, foram removidas as verificações de limites para índices com deslocamentos constantes, quando o compilador sabe que o índice é menor que a diferença entre o tamanho e o deslocamento.
  • O compilador agora leva em conta dados adicionais sobre a otimização DIGIT-CHAR.
  • Foi implementada a possibilidade de excluir valores intermediários em algumas chamadas de APPLY, CONCATENATE e MAKE-ARRAY para argumentos construídos a partir de sequências com novas modificações cons.
  • O desempenho do laço "(LOOP FOR X IN (REVERSE LIST) …)" foi acelerado, agora utilizando menos cons.
  • O laço "(LOOP … APPEND …)" foi tornado mais compacto e executa menos trabalho ao adicionar NIL.
  • As verificações de tipos de vários arrays foram aceleradas e reduzidas.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster