5 ms·
I would be interested why C++ was chosen for https://github.com/dropbox/lepton https://github.com/dropbox/lepton instead of Rust? Given the recent usage of Rus
by nachtigall 10y ago
I would be interested why C++ was chosen for https://github.com/dropbox/lepton https://github.com/dropbox/lepton instead of Rust?
Given the recent usage of Rust for the implementation of Brotli compression (https://blogs.dropbox.com/tech/2016/06/lossless-compression-with-brotli/ https://blogs.dropbox.com/tech/2016/06/lossless-compression-...) and that it's used for data storage (http://www.wired.com/2016/03/epic-story-dropboxs-exodus-amazon-cloud-empire/ http://www.wired.com/2016/03/epic-story-dropboxs-exodus-amaz...) this somewhat surprises me.
The reasons given for Rust as stated in https://blogs.dropbox.com/tech/2016/06/lossless-compression-with-brotli/ https://blogs.dropbox.com/tech/2016/06/lossless-compression-... would seem valid here too:
> For Dropbox, any decompressor must exhibit three properties:
>
> 1. it must be safe and secure, even against bytes crafted by modified or hostile clients,
> 2. it must be deterministic—the same bytes must result in the same output,
> 3. it must be fast.
- daniel_rh 10y agoSIMD support in Rust is still very early and required unsafe mode for SSE, and lepton makes heavy use of SSE intrinsics. Now I do see http://huonw.github.io/simd/simd/ http://huonw.github.io/simd/simd/ was being developed in August 2015, but it seems to be gathering dust of late. I really do wish that Rust would provide nice alignment guarantees (eg 32 byte) without depending on customizing the allocator, and builtin, safe, SIMD instructions
- joelg236 10y ago> I really do wish that Rust would provide nice alignment guarantees (eg 32 byte) without depending on customizing the allocator, and builtin, safe, SIMD instructions Same could be said about C/C++. I'm guessing the answer is much simpler: the author(s) are comfortable with C++. And they probably don't deploy much rust code yet.