min-sized-rust
rust
min-sized-rust | rust | |
---|---|---|
102 | 2,858 | |
9,070 | 105,041 | |
1.1% | 1.2% | |
4.2 | 10.0 | |
29 days ago | 1 day ago | |
Rust | Rust | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
min-sized-rust
- Ask HN: What are some non-standard ways to reduce the size of executable files?
-
The Linux Kernel Prepares for Rust 1.77 Upgrade
This is a good guide on building small Rust binaries: https://github.com/johnthagen/min-sized-rust
This talks about going to extreme lengths on making the smallest Rust binary possible, 400 bytes when it was written, https://darkcoding.net/software/a-very-small-rust-binary-ind...
The thing is, you lose a lot of nice features when you do this, like panic unwinding, debug symbols, stdlib… for kernel and some embedded development it’s definitely important, but for most use cases, does it matter?
-
Rust wont save us, but its ideas will
Oh it was 137, haha. I will link you to this older comment of mine: https://news.ycombinator.com/item?id=29408906
See also https://github.com/johnthagen/min-sized-rust
-
Making Rust binaries smaller by default
Are you sure? If so then this is awesome news, but I'm a bit confused; the commit in that min-sized-rust repo adding `build-std` to the README was merged in August 2021: https://github.com/johnthagen/min-sized-rust/pull/30
Are you saying that at that point the feature still hadn't "landed in Rust nightly" until recently? If so then what's the difference between a feature just being available in Rust nightly, vs having "landed"?
-
Was Rust Worth It?
Rust binaries are by default nowhere close to 500MB. If they are not small enough for you, you can try https://github.com/johnthagen/min-sized-rust. By avoiding the formatting machinery and using `panic_immediate_abort` you can get about the size of C binaries.
-
Compiling Rust binaries for Windows 98 SE and more: a journey
A useful reference: https://github.com/johnthagen/min-sized-rust
- How to minimize Rust binary size
- Error on flashing embedded code to stm32f103
-
Tiny Binaries (2021)
That must be without stripping. Also there are ways to reduce binary size. See e.g. [min-sized-rust](https://github.com/johnthagen/min-sized-rust). I've gotten stripped binaries of small cli utils less than 400KiB without doing anything special, less than 150 KiB by customizing profile settings and compressing with upx, and less than 30 KiB by replacing the std with the libc as the link shows. Haven't tried with fltk though...
rust
-
Why Developers Are Switching to Rust: The Rise of Rust Development in 2025
Rust development is experiencing major growth in 2025 as its developers continue to focus more on performance, memory safety, and reliability of their code. Supported by a powerful compiler, with modern tooling and an emerging ecosystem, Rust is an alternative to the majority of the limitations of legacy systems programming languages. This blog discusses the theoretical basis behind the transition to Rust-based development and the reasons why it is rapidly growing as an attractive option to software engineers and organizations.
-
Rust Cargo: The Backbone of Rust Development
https://www.rust-lang.org/ https://doc.rust-lang.org/cargo/ https://doc.rust-lang.org/cargo/getting-started/installation.html
-
Tree Borrows
I am very sorry, but you do not address that TBAA, like C has by default, generally is easier than just no aliasing, like what Rust has for mutable references. This is a major difference. C code can opt into a similar kind of aliasing, namely by using _restrict_, but that is opt-in, while it is always on for Rust.
And there is newer UB as well in Rust stdlib
https://github.com/rust-lang/rust/pull/139553
- # [derive(Clone)] Is Broken
-
My first verified (imperative) program
Real-world programs can be verified by formally proving properties on a small part of the code (called the kernel) in a way that transitively guarantees those for the remaining code.
For example, Rust's borrow checker guarantees* memory safety of any code written in Rust, even a 10M+ LOC project. Another example is sel4, a formally-verified micro-kernel (https://sel4.systems/About/seL4-whitepaper.pdf).
* Technically not; even if the code doesn't use `unsafe`, not only is Rust's borrow checker not formally verified, there are soundness holes (https://github.com/rust-lang/rust/issues?q=is%3Aopen%20is%3A...). However, in theory it's possible to formally prove that a subset of Rust can only encode memory-safe programs, and in practice Rust's borrow checker is so effective that a 10M+ LOC project without unsafe will still probably not have memory issues.
-
The Technology Behind SmoothCSV - The Ultimate CSV Editor
Backend: Rust
-
Weird Expressions in Rust
What's weird about this?
To understand what evil_lincoln is doing, you have to understand very old Rust. Here's the commit that introduced it: https://github.com/rust-lang/rust/commit/664b0ad3fcead4fe4d2...
fn evil_lincoln() {
-
"Why is the Rust compiler so slow?"
Side note: There's an effort to cache proc macro invocations so that they get executed only once if the item they annotate hasn't changed: https://github.com/rust-lang/rust/pull/129102
There are multiple caveats on providing this to users (we can't assume that macro invocations are idempotent, so the new behavior would have to be opt in, and this only benefits incremental compilation), but it's in our radar.
- Naked functions are now stable in Rust 1.88
-
Building an iOS App with Rust Using UniFFI
Rust: Install it from the official Rust website.
What are some alternatives?
smartstring - Compact inlined strings for Rust.
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
embedded-graphics - A no_std graphics library for embedded applications
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
rustc_codegen_gcc - libgccjit AOT codegen for rustc
Odin - Odin Programming Language