Rewriting Pelikan in Rust - Performance, Reliability, and Efficiency in Caching
Explore a conference talk that delves into the journey of incrementally rewriting a C codebase in Rust, focusing on Twitter's open-source Pelikan framework for in-memory caching. Learn about the challenges and benefits of replacing Memcached and Redis forks with a single, high-performance Rust implementation. Discover how three engineers approached adding Rust to the existing C codebase, starting with networking and event loop replacement, progressing to storage implementation, and ultimately rewriting the entire server. Gain insights into the performance improvements, reliability enhancements, and development efficiency achieved through this transition. Understand the trade-offs involved in rewriting production code, including potential missed deadlines and duplicated work. Examine the advantages of Rust's language features, tools, and abstractions in building reliable and efficient software for critical in-memory caching systems. Follow the speaker's journey from initial prototyping to production deployment, and learn about the importance of benchmarking, fuzzing, and careful testing in ensuring a successful transition from C to Rust. Read more