Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
diem
Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.
-
Voila
Discontinued Voila is a domain-specific language launched through CLI tool for operating with files and directories in massive amounts in a fast & reliable way. (by Alonely0)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
abstreet
Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
-
glow
GL on Whatever: a set of bindings to run GL anywhere and avoid target-specific code (by grovesNL)
It did in 2017 when the article was written. Though this changed in 2018 when Rust started using the system allocator by default. The size of the executables are still larger than equivalent programs in C, but there are are various ways to reduce the size when it matters.
I maintain several large codebases that have #![forbid(unsafe)] annotations, which prevent unsafe code from being written in those codebases directly. BonsaiDb clocks in at just shy of 30k LOC, and depends on Nebari which is another 12k LOC. Those two crates make up the bulk of a networked database implementation.
I maintain several large codebases that have #![forbid(unsafe)] annotations, which prevent unsafe code from being written in those codebases directly. BonsaiDb clocks in at just shy of 30k LOC, and depends on Nebari which is another 12k LOC. Those two crates make up the bulk of a networked database implementation.
As for resources I am aware of, I'd recommend the chapters in the Rust book on unsafe code, as well as the Unsafe Code Guidelines.
I believe diem has over 250kLOC and no unsafe code
If you want to see how large a binary is without all the backtrace-printing code, there is a hardly-discussed feature, panic_mmediate_abort. On Linux, you could run cargo +nightly build -Zbuild-std=std,panic_abort -Z build-std-features=panic_immediate_abort --release --target=x86_64-unknown-linux-gnu, as mentioned in the link.
Voila. It is a domain-specific-language for interacting with large collections of files.
A/B Street, which comprises a UI library, lots of data import pipelines, and traffic simulation. 100k LoC, the only unafe is to make system calls through glow
A/B Street, which comprises a UI library, lots of data import pipelines, and traffic simulation. 100k LoC, the only unafe is to make system calls through glow