Daniel Bernstein aktualizoval knihovnu cdb

Daniel J. Bernstein, renomovaný expert v oblasti kryptografie a vývoje zabezpečeného softwaru, který vytvořil projekty jako qmail, djbdns, NaCl, Ed25519, Curve25519 a ChaCha20-Poly1305, publikoval vydání projektu cdb 20250121, které nabízí formát pro ukládání dat a přidruženou knihovnu pro integraci funkcí pro práci s databázemi ve formátu klíč/hodnota do aplikací. Toto vydání bylo vytvořeno více než 25 let po poslední aktualizaci cdb 0.75, která byla vydaná v únoru 2000.

V nové verzi byl implementován formát cdb64, převedený na struktury s 64bitovými typy. Na 64bitových platformách nový formát umožňuje vytvářet databáze o velikosti až exabajtu (dříve nemohla databáze překročit 4 GB). Databáze je velmi kompaktní a používá 4096 bajtový hlavičku a 48 bajtů pomocných informací na každý záznam (u 32bitové varianty hlavička 2048 bajtů a 24 bajtů na záznam). Při přístupu k databázi se provádějí pouze dvě operace přístupu na disk, pokud je k dispozici klíč, a jedna, pokud není. Podporována je atomární výměna databáze, odolná vůči haváriím, a neblokující přístup pro čtení.

Další změny:

  • Podpora sestavení pomocí skriptu configure a instalace příkazem „make install“.
  • Byla odstraněna vazba testovacích scénářů na csh.
  • Všechny vnitřní celočíselné hodnoty byly nahrazeny typem „num“, definovaným jako „long long“. Funkce uint32, fmt a scan byly nahrazeny funkcemi pracujícími s typem num.
  • Programové rozhraní pro práci s buffery bylo rozděleno na inbuf a outbuf. Bylo provedeno vyčištění rozhraní hier.
  • Z kódu byly odstraněny definice nepoužívaných funkcí.
  • Bylo zastaveno používání obklopování, jako jsou str_len, alloc, uint32, exit, error a systype.
  • Kód byl přepracován tak, aby se přestalo používat zastaralé konstrukce v jazyce C, jako jsou starý styl definice funkcí, prázdné protokoly a starý styl definice main().
  • Byly využity definice const a static.
  • Při sestavení byl aktivován příznak „-Wall“ a kód byl vyčištěn pro odstranění výstrah.
  • Při kompilaci byly zahrnuty možnosti -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing a -fno-strict-overflow.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster