3 pointsby ianm218an hour ago2 comments
  • ianm218an hour ago
    Inspiration for this project is the changing landscape around memory safety + the ability to build quickly against benchmarks and test suites

    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!

  • m1rsh0an hour ago
    That's pretty neat!