Daniel Bernstein 更新了 cdb 庫

伯恩斯坦(Daniel J. Bernstein)是密碼學和安全軟體開發領域的知名專家,曾開發過qmail、djbdns、NaCl、Ed25519、Curve25519和ChaCha20-Poly1305等專案。他發布了cdb 20250121,這是一種資料儲存格式及其配套庫,用於將鍵值資料庫功能嵌入到應用程式中。這次發布距離上次更新——2000年2月發布的cdb 0.75——已超過25年。

新版本實作了 cdb64 格式,並將其轉換為 64 位元資料結構。在 64 位元平台上,新格式允許資料庫大小達到 1 EB(以前資料庫大小限制為 4 GB)。該資料庫非常緊湊,每個記錄使用 4096 位元組的頭部和 48 位元組的開銷(32 位元版本中,頭部為 2048 位元組,每個記錄 24 位元組開銷)。如果鍵存在,存取資料庫僅需兩次磁碟存取操作;如果鍵不存在,則只需一次。該資料庫支援原子資料庫替換,具有抗崩潰能力,且不會阻塞讀取存取。

其他變化:

  • 支援使用 configure 腳本進行構建,並使用“make install”命令進行安裝。
  • 已移除測試腳本與 csh 的綁定。
  • 所有內部整數值都已替換為“num”類型,定義為“long long”。 uint32、fmt 和 scan 函數已替換為可與 num 類型互動的函數。
  • 緩衝區管理 API 已拆分為 inbuf 和 outbuf。層級介面已簡化。
  • 程式碼中已刪除未使用的函數定義。
  • 已棄用 str_len、alloc、uint32、exit、error 和 systype 等綁定。
  • 程式碼已重構,消除了使用已棄用的 C 結構,例如舊式函數定義、空原型和舊式 main() 定義。
  • 使用 const 和 static 的定義。
  • 在彙編過程中啟用了“-Wall”標誌,並清理了代碼以消除警告。
  • 編譯期間啟用 -fwrapv、-fno-delete-null-pointer-checks、-fno-strict-aliasing 和 -fno-strict-overflow 選項。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster