CQLite v0.14.1
CQLite v0.14.1 — cold-start parse fix
Section titled “CQLite v0.14.1 — cold-start parse fix”A patch release on v0.14.0. It fixes the cold first-query-per-table parse cost that v0.14.0 called out as a known limitation. No API or behavior changes — a pure performance fix.
🚀 Cold-start parse fix
Section titled “🚀 Cold-start parse fix”SSTableReader::open no longer builds a second, redundant in-memory index. Index.db
is now parsed exactly once per open (down from twice), and the surviving index build
uses capacity hints so it grows linearithmically instead of quadratically (#2385,
#2395).
- 200k-entry index build: 6.17s → 0.061s (~100×).
- Growth ratio (build time vs entry count): 15.5 → 4.96 — quadratic collapses to linearithmic.
- Parses of
Index.dbper open: 2 → 1. - Resident index memory: roughly halved per generation.
At round-9 field validation, a cold LIMIT query took 4m17s at 1.42M partitions. With
this fix the cold cost drops to seconds per generation.
Known limitations
Section titled “Known limitations”Unchanged from v0.14.0, minus the cold-start item fixed above:
- Reads are single-node-bound under RF=N — under concurrency one pod does the work; throughput caps at one node (#2397).
- Warm scan setup overhead — warm scans carry a fixed ~4–5s per-query
resolve/merge-setup cost, so a
LIMIT 5scan runs comparably toLIMIT 100(#2398).
Get it
Section titled “Get it”brew install pmcfadin/cqlite/cqlite # CLI (macOS + Linux)cargo add cqlite-core # Rust librarypip install cqlite-py # Pythonnpm install @cqlite/node # Node.jsRust crates and the Python and Node bindings move 0.14.0 → 0.14.1 in lockstep. Full
detail in the
CHANGELOG.