| Crates.io | rskv |
| lib.rs | rskv |
| version | 0.1.0 |
| created_at | 2025-08-28 02:38:18.516109+00 |
| updated_at | 2025-08-28 02:38:18.516109+00 |
| description | High-performance KV store inspired by Microsoft FASTER |
| homepage | https://github.com/wayslog/rskv |
| repository | https://github.com/wayslog/rskv |
| max_upload_size | |
| id | 1813478 |
| size | 1,399,665 |
rskv is a high-performance, concurrent, persistent key-value store inspired by the design of Microsoft's FASTER. It is designed from the ground up in Rust to leverage modern hardware and concurrency models, focusing on safety, speed, and low-latency operations.
This project is being developed with the assistance of an AI programming agent, following a detailed architectural and implementation plan.
src/: Main source code.
lib.rs: Main library entry point, defines the top-level RsKv struct.hlog.rs: The Hybrid Log (hlog) implementation.index.rs: The concurrent hash index implementation.checkpoint.rs: Checkpoint and recovery logic.gc.rs: Garbage collection logic.epoch.rs: Epoch management utilities.common.rs: Common types, like Address and custom errors.docs/: Project documentation and implementation plan.
ARCHITECTURE.md: Detailed description of the system architecture.IMPLEMENTATION_PLAN.md: Step-by-step implementation guide (Cursor Rules).scripts/: Development and testing scripts.
coverage.sh: Generate test coverage reports.coverage.ps1: PowerShell version for Windows.coverage/: Test coverage reports and artifacts.rskv has comprehensive test coverage with 44 test cases covering all major functionality:
| Module | Coverage | Status |
|---|---|---|
| index.rs | 91.11% | ๐ข Excellent |
| gc.rs | 86.11% | ๐ข Excellent |
| checkpoint.rs | 85.45% | ๐ข Excellent |
| background.rs | 71.55% | ๐ก Good |
| rskv.rs | 71.43% | ๐ก Good |
| metrics.rs | 56.39% | ๐ก Moderate |
| epoch.rs | 57.45% | ๐ก Moderate |
| hlog.rs | 37.37% | ๐ด Needs Improvement |
| common.rs | 16.36% | ๐ด Needs Improvement |
# Run all tests
cargo test
# Generate coverage report
./scripts/coverage.sh
# Or use Makefile
make coverage
make coverage-open # Opens HTML report
See COVERAGE_REPORT.md for detailed coverage analysis.
rskv includes comprehensive performance benchmarks to evaluate performance under various workloads:
# Quick performance test (core scenarios)
make perf-quick
# Thread scaling & concurrency tests
make perf-threads
# Interactive performance demos
make perf-demo
make perf-concurrency
# Comprehensive performance test with reports
make performance
# Individual test groups
cargo bench --bench performance -- write_performance
cargo bench --bench performance -- thread_scaling
cargo bench --bench performance -- mixed_workload
rskv uses a comprehensive set of development tools to ensure code quality and maintainability:
# Install development tools
make install-deps
# Run all quality checks
make quality
# Quick development cycle
make dev
# Pre-commit checks
./scripts/pre-commit.sh
The project uses GitHub Actions for automated testing and quality assurance:
See DEVELOPMENT.md for detailed development guidelines.
๐ Multi-threaded Write Performance
๐ฅ Mixed Workload Performance
Performance tests generate detailed reports including:
target/criterion/PERFORMANCE_RESULTS.mdCONCURRENCY_RESULTS.mdSee PERFORMANCE.md for detailed performance testing guide.