Show HN: Valdr - Valkey/Redis in safe Rust, passes >99% of Valkey test suite(github.com)
github.com
Show HN: Valdr - Valkey/Redis in safe Rust, passes >99% of Valkey test suite
https://github.com/ianm199/valdr
4 コメント
I'm going to try for sure the software, but I'm not really sure that a software written in Rust could beat that, which is one of the best hand written software (that is an exaggeration) , at 100% in C by Salvatore and Redislab team.
PS: try the software before being sure that is not what's promised.
I'd love to see where you end up on this! Happy to hop on a call or something too and get your impression.
This is how I was running the benchmarks https://github.com/ianm199/valdr#benchmark-commands . I hope that is helpful.
Redislab team is definitely legit! Valkey and then projects like this stand on the shoulder of giants
This is how I was running the benchmarks https://github.com/ianm199/valdr#benchmark-commands . I hope that is helpful.
Redislab team is definitely legit! Valkey and then projects like this stand on the shoulder of giants
That's pretty neat!
Overview: - valdr is a single node Redis/ Valkey server, drop in for RESP2/RESP3 - ~12 unsafe blocks, all at FFI/syscall boundaries, data path is zero-unsafe. Out of these some can be removed by changing the Lua dependency to a rust version - Supports all the core features, didn't implement clustering, high availability, or the C ABI for now. Roadmap here https://valdr.dev/roadmap.html
Performance: - Faster than upstream on core commands, especially with high pipeling (GET 1.3X, Set 1.4X, LRANGE up to ~1.6x) - The win mainly comes from Rust's borrow checker, the rest is scattered. Some if it is because we just implement less features than - Reproduction steps here https://github.com/ianm199/valdr#benchmark-commands
Why I built it: - The landscape of OSS security is changing greatly, I was thinking that if memory safety becomes an even larger issue it is good to have drop in memory safer alternatives - The bun rewrite kicked off a lot of discussion in this area, I was curious if you could take the great parts of that with closer to creating a port that is closer idiomatic/ safe Rust - The Rust community has built some great primatives like rustls and tokio, and now is a great time to build on top of those. This project doesn't use tokio but likely will when I implement thread pooling
How it was built: - Heavily leveraged by orchestrated AI agents between Claude Code and Codex + API calls to other providers - I developed several different porting harnesses in the process although none that are yet good enough to share and be useful - Tuned performance using a suite of tools to track hotspots in the code, happy to share more details
Try it: - docker run --rm -p 6379:6379 ghcr.io/ianm199/valdr:alpha then point any redis client at it - This project is definitely in an alpha state - would love for anyone to throw some real workloads at it and let me know what you think!