FAST. WITH CONTEXT.
Performance you
can look into.
Numbers tell a better story when you know what they measure. Here are the upstream results, their scope and a starting point for your own benchmarks.
Context is part of the result.
These are repository-reported measurements from the pinned upstream README, not fresh benchmarks run for this website. Hardware: AMD Ryzen 9 9950X3D, 64 GB RAM, Windows 11. In-memory results exclude network transport; end-to-end results include the TCP round trip. Persistence, client behavior, key sizes, contention and hardware can change the outcome.
Read the original results ↗01 / INSIDE THE ENGINE
Direct storage operations.
In-memory store benchmarks. No TCP connection, protocol parsing or network round trip.
| Operation | Operations / second | Time / operation | Allocations / operation |
|---|---|---|---|
| GET · sequential | 20M | 50 ns | 0 |
| GET · parallel, 32 logical processors | 106M | 9.4 ns | 0 |
| SET · sequential | 1.3M | 796 ns | 3 |
| SET · parallel, 32 logical processors | 2.2M | 449 ns | 3 |
| Tag count | 73M | 13.7 ns | 0 |
| Tag invalidation · 10K keys | 510 | 1.96 ms | — |
02 / THE COMPLETE CONNECTION
End-to-end TCP operations.
A separate workload including the full TCP round trip. These results describe a different measurement from direct storage calls.
| Operation | Operations / second | Reported time / operation |
|---|---|---|
| SET | 32K | 37 µs |
| GET | 33K | 37 µs |
| HSET | 33K | 38 µs |
| ZADD | 31K | 36 µs |
| XADD | 31K | 39 µs |
Values are reproduced as reported upstream, including rounding. Operations per second and listed timings are not always exact reciprocals. Treat them as upstream observations and reproduce your own workload.
03 / MAKE IT YOUR MEASUREMENT
Your workload is
the benchmark that matters.
Run the benchmark suite on the version you plan to deploy. Record the commit, Go version, CPU, OS, dataset size, concurrency and whether persistence is enabled.
Then exercise the complete application path with your selected client, real command mix and representative data. Measure tail latency as well as throughput.
Explore benchmark source ↗git clone https://github.com/CacheStorm/CacheStorm.git
cd CacheStorm
git checkout baf028b1276b411641edd92e7135202fd114f4e1
# Record the environment
go version
# Storage benchmarks
go test ./internal/store/... -run=^$ -bench=. -benchmem
# Additional benchmark workloads
go test ./benchmarks/... -run=^$ -bench=. -benchmem