Daniel J. Bernstein, en kÀnd expert inom kryptografi och utveckling av sÀker programvara, som har utvecklat projekt som qmail, djbdns, NaCl, Ed25519, Curve25519 och ChaCha20-Poly1305, har publicerat en version av projektet cdb 20250121, som erbjuder ett datalagringsformat och ett tillhörande bibliotek för integrering av databasfunktioner i form av nyckel/vÀrde i applikationer. UtgÄvan har skapats mer Àn 25 Är efter den senaste uppdateringen av cdb 0.75, som skapades i februari 2000.
I den nya versionen har cdb64-formatet implementerats, översatt till strukturer med 64-bitars typer. PÄ 64-bitars plattformar möjliggör det nya formatet att skapa databaser storlek upp till en exabyte (tidigare fick databasen inte överstiga 4 GB). Databasen Àr mycket kompakt och anvÀnder en 4096-bytes header och 48 bytes metadata per post (för den 32-bitars versionen Àr headern 2048 och 24 bytes per post). Vid Ätkomst till databasen utförs endast tvÄ diskoperationer med nyckel och en utan. AtomÀr ersÀttning av databasen stöds och Àr motstÄndskraftig mot krasch och blockerar inte lÀsaccess.
Andra förÀndringar:
- Stöd för byggnad med konfigurationsskript och installation med kommandot "make install."
- Det har tagits bort bindningen av testscenarier till csh.
- Alla interna heltalsvÀrden har ersatts med typen "num", definierad som "long long". Funktionerna uint32, fmt och scan har ersatts med funktioner som arbetar med typen num.
- ProgramgrÀnssnittet för arbete med buffrar har delats upp i inbuf och outbuf. GrÀnssnittet för hier har rensats.
- Definitioner av oanvÀnda funktioner har tagits bort frÄn koden.
- AnvÀndningen av omslag som str_len, alloc, uint32, exit, error och systype har upphört.
- Koden har omgjorts för att avsluta anvÀndningen av förÄldrade C-konventioner, sÄsom gammal stil för funktionsdefinitioner, tomma prototyper och gammal stil för definition av main().
- Definitioner av const och static har aktiverats.
- Vid byggprocessen aktiverades flaggan "-Wall," och koden har stÀdats för att eliminera varningar.
- Vid kompilering inkluderades alternativen -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing och -fno-strict-overflow.
KĂ€lla: opennet.ru
