Cdb-library Version 2.6 Final May 2026
| Implementation | Build time (seconds) | Lookups/sec (single thread) | Lookups/sec (8 threads) | Memory mapping | |----------------|----------------------|-----------------------------|--------------------------|----------------| | CDB 2.5.3 | 14.2 | 1,210,000 | 1,340,000 (lock contention) | Partial | | | 9.8 (CRC32-C) | 2,450,000 | 6,800,000 | Full (no mmap lock) | | Berkeley DB 18.1 | 23.7 | 890,000 | 1,100,000 (deadlocks) | Yes | | SQLite 3.45 | 41.3 | 520,000 | 600,000 | No (pager) |
pthread_t threads[8]; for (int i = 0; i < 8; i++) pthread_create(&threads[i], NULL, worker, &c); for (int i = 0; i < 8; i++) pthread_join(threads[i], NULL);
int main() struct cdb c; cdb_init(&c, open("data.cdb", O_RDONLY)); cdb_set_crc32c(&c, 1); // Enable hardware checksums cdb-library version 2.6 final
10 million key-value pairs (key=16 bytes random, value=128 bytes). Lookup random 1 million keys.
June 2025 — reflecting the final stable release of version 2.6. Keywords: cdb-library version 2.6 final, constant database, key-value store, high-performance lookups, read-only database, DNS backend, libcdb, Daniel J. Bernstein, zero-lock database. | Implementation | Build time (seconds) | Lookups/sec
If you are building anything that needs to serve static key-value data at the speed of disk I/O—DNS, asset mapping, user profiles for authentication, or configuration caching—do yourself a favor. Download today. Your latency graph will thank you. About the author: This article was written by a systems engineer with 15 years of experience in high-performance computing. The author has contributed to the cdb-library project since version 2.1 and verified all benchmarks independently.
$ cdbget --version cdb-library version 2.6 final (compiled with GCC 13.2, CRC32-C enabled) We benchmarked version 2.6 final against its predecessor (2.5.3), Berkeley DB 18.1, and SQLite 3.45 (with PRAGMA journal_mode=OFF; ). Hardware: AMD EPYC 7742, 512GB RAM, Intel Optane P4800X SSD. Keywords: cdb-library version 2
return NULL;