Skip to content

v1.0.2

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Oct 17:13
· 1 commit to main since this release

RunDB_Native v1.0.2: Stability and Performance Improvements

🚀 Highlights & Improvements

⚡ Performance & Networking

• Edge-Triggered I/O Drain Loop: Refactored Client::handle_read() to drain incoming bytes in a loop until EAGAIN / EWOULDBLOCK. Prevents edge-triggered epoll stalls during large bursts and pipelined workloads exceeding the single-read buffer threshold (16 KB).

• Zero-Allocation Map Lookups: Wired transparent heterogeneous lookup (std::string_view) directly into Database key lookups, eliminating transient std::string heap allocations past 15 characters on reads and writes.

🛡 Reliability & Correctness

• AOF Absolute Expiration Fix: Updated AOF snapshot serialization (dump_all) to use std::chrono::system_clock for wall-clock epoch timestamps rather than steady_clock (uptime- based). Keys replayed across server restarts now retain correct expiration deadlines.

• Neutral Latency Reporting: Cleaned up LATENCY DOCTOR telemetry messages, removing legacy hardcoded name references and aligning with modern production-grade diagnostic reporting.

📚 Documentation & Technical Accuracy

• Allocator & Memory Footprint Clarifications: Updated documentation detailing custom run_malloc tracking vs. standard allocator usage (custom SDS buffers, IntSets, QuickLists vs. standard map node overheads).

• Structure Sizing Precision: Corrected internal sizing references in architecture docs (sizeof(SDS) == 32, sizeof(RunDBObject) == 72).

• Metrics & Benchmarks: Added metrics redirection links and attribution notes across project documentation.

Full Changelog: v1.0.1...v1.0.2