Menu

Porting Concurrent C++ to Rust: Field Notes From a Few Migrations
πŸ“°

Porting Concurrent C++ to Rust: Field Notes From a Few Migrations

DEV Community: rustΒ·Stratumstack systemΒ·about 4 hours ago
#NNegBxWl
#devtorust#devto#dev#rust#thread
Reading 0:00
15s threshold

Who should read this !

If you are a Rust engineer who has just been handed a concurrent C++ codebase β€” a network service, an ingestion daemon, a gateway, a media pipeline β€” and told "we're moving this to Rust", this is the post I wish someone had handed me the first time it happened to me.

A caveat before anything else: this is not the story of one migration. It's a composite of a few I've done or consulted on over the last several years. The systems were different (an edge proxy, a log ingestion daemon, something broker-shaped), the teams were different, and the outcomes were different. The incidents I describe happened, but I've deliberately blurred which codebase each one came from, and I've rounded the numbers. Where I generalise, treat it as pattern-matching over a small sample, not a law.

The thesis I'll keep coming back to is this: in a concurrent C++ codebase, the concurrency is the migration. Types port mechanically. Serialization ports mechanically.…

Continue reading β€” create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.