3 ms·
I think @jamwt did a pretty good job of explaining this in https://news.ycombinator.com/item?id=11283688 https://news.ycombinator.com/item?id=11283688. At a hi
by james_cowling 11y ago
I think @jamwt did a pretty good job of explaining this in https://news.ycombinator.com/item?id=11283688 https://news.ycombinator.com/item?id=11283688.
At a high level it's really a memory thing. There are a lot of great things about Rust but we're also mostly happy with Go's performance. Rust gave us some really big reductions in memory consumption (-> cheaper hardware) and was a good fit for our storage nodes where we're right down in the stack talking to the hardware.
Most of the storage system is written in Go and the only two components currently implemented in Rust are the code that runs on the storage boxes (we call this the OSD - Object Storage Device) and the "volume manager" processes which are the daemons that handle erasure coding for us and bulk data transfers. These are big components tho.