Files
CUBELinux-2 6209955b46 feat(cubesys): Task 4 reader/writer sharding (Mutex -> RwLock)
ConcurrentStore.inner is now Arc<RwLock<CubeStore>>: all read paths take the
read side, all mutations + checkpoint take the write side. Readers no longer
exclude each other and overlap an active writer (verified by
concurrent_reads_dont_block_on_writer + cube-bench Task 4 section). WAL,
checkpoint, and coordinate encoding are untouched, so durability/replay is
unchanged (.check green).

Honest finding recorded in docs/task4-reader-writer-sharding.md: on this 8-core
host std RwLock removes reader-vs-reader exclusion (correct) but shows no
wall-clock speedup for short reads (cache-line bounce on one shared lock). Real
read-throughput scaling would need sharded/lock-free storage, left as a
follow-up decision rather than invented.
2026-08-11 12:20:08 -04:00

17 lines
520 B
TOML

[package]
name = "cube-bench"
version = "0.1.0"
edition = "2021"
# Correctness-gated microbenchmarks for CUBELinux-2.
# Runs as a plain `cargo run -p cube-bench`; every measurement path first
# asserts an invariant so a silent regression cannot masquerade as a result.
[dependencies]
cubecoords = { path = "../cubecoords" }
cubestore = { path = "../cubestore" }
cubecrypt = { path = "../cubecrypt" }
cubecode = { path = "../cubecode" }
cubesys = { path = "../cubesys", features = ["bench"] }
[dev-dependencies]