Daniel Bernstein actualizou a biblioteca cdb

Daniel J. Bernstein, un recoñecido experto en criptografía e desenvolvemento de software seguro que desenvolveu proxectos como qmail, djbdns, NaCl, Ed25519, Curve25519 e ChaCha20-Poly1305, lanzou cdb 20250121, un formato de almacenamento de datos e a biblioteca que o acompaña para integrar funcións de bases de datos de clave/valor en aplicacións. Esta versión chega máis de 25 anos despois da actualización anterior, cdb 0.75, publicada en febreiro de 2000.

A nova versión implementa o formato cdb64, traducido a estruturas de datos de 64 bits. En plataformas de 64 bits, o novo formato permite bases de datos de ata un exabyte de tamaño (anteriormente, os tamaños das bases de datos estaban limitados a 4 GB). A base de datos é moi compacta e usa unha cabeceira de 4096 bytes e 48 bytes de sobrecarga por rexistro (para a versión de 32 bits, a cabeceira é de 2048 bytes e 24 bytes por rexistro). O acceso á base de datos só require dúas operacións de acceso ao disco se a clave está presente e unha se non o está. Admítese a substitución atómica da base de datos, que é resistente a fallos e non bloquea o acceso de lectura.

Outros cambios:

  • Compatibilidade coa compilación mediante o script configure e a instalación mediante o comando "make install".
  • Eliminouse a vinculación dos scripts de proba a csh.
  • Todos os valores enteiros internos foron substituídos polo tipo "num", definido como "long long". As funcións uint32, fmt e scan foron substituídas por funcións que traballan co tipo num.
  • A API de xestión de búferes dividiuse en inbuf e outbuf. A interface hierarchica limpouse.
  • Elimináronse do código as definicións de funcións non utilizadas.
  • Uso obsoleto de vinculacións como str_len, alloc, uint32, exit, error e systype.
  • O código foi refactorizado para eliminar o uso de construcións C obsoletas, como o estilo antigo das definicións de funcións, os prototipos baleiros e o estilo antigo da definición de main().
  • Úsanse as definicións de const e static.
  • O indicador "-Wall" activouse durante a ensamblaxe e limpouse o código para eliminar os avisos.
  • As opcións -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing e -fno-strict-overflow están activadas durante a compilación.

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster