Download Latest Version v0.2.4 source code.tar.gz (1.7 MB)
Email in envelope

Get an email when there's a new version of Stoolap

Home / v0.2.2
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-01-11 1.6 kB
v0.2.2 source code.tar.gz 2026-01-11 1.6 MB
v0.2.2 source code.zip 2026-01-11 1.9 MB
Totals: 3 Items   3.6 MB 0

What's New in v0.2.2

CompactArc - Memory-Efficient Reference Counting (#9)

  • Introduced CompactArc<T>, a thread-safe reference-counted pointer without weak reference support
  • Saves 8 bytes per allocation compared to std::Arc (16 bytes vs 24 bytes overhead)
  • Particularly effective for Value storage in rows and indexes

Memory Optimizations (#9)

  • ColumnarResult: Column-major storage for window functions, reducing allocations from O(rows) to O(columns) with lazy row materialization
  • Deferred projection: For ORDER BY + LIMIT queries, defer projection until after sorting/limiting to reduce allocations from O(matched) to O(limit)
  • ParallelVec: Direct parallel writes to disjoint indices in window functions, eliminating per-partition Vec allocations
  • Arc\<str> keys: Zero-cost key cloning in hot per-row loops for correlated subquery evaluation

CompactVec and RowVec (#7)

  • CompactVec\<T>: A 16-byte vector (vs Vec's 24 bytes) - 33% smaller footprint per Row instance
  • RowVec: Thread-local pooled Vec<(i64, Row)> with best-fit allocation, reducing allocation churn for repeated query execution

Bug Fixes

  • Fix streaming path for non-correlated scalar subqueries (were unnecessarily disabled from streaming)
  • Add bounds checking to CompactVec extend/from_iter to prevent buffer overflow from malicious iterators

Other Changes

  • Add optional mimalloc allocator (--features mimalloc)
  • Add fuzz testing targets for SQL parser, expressions, queries, and transactions

Full Changelog: https://github.com/stoolap/stoolap/compare/v0.2.1...v0.2.2

Source: README.md, updated 2026-01-11