Our great sponsors
mold | zld | |
---|---|---|
179 | 10 | |
13,302 | 1,178 | |
- | - | |
9.7 | 4.9 | |
4 days ago | about 1 year ago | |
C++ | C++ | |
MIT License | MIT License |
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.
mold
-
I reduced (incremental) Rust compile times by up to 40%
I think this is unlikely to gain traction. I say that no to discourage you, just to explain.
- The community has an instinctive distrust of closed source or a compiler from an untrusted source. If you’re familiar with the Trusting Trust attack you’ll understand why.
- Dev tools in every language ecosystem are almost always free, unless they involve some kind of hosting. People aren’t used to opening their wallets. Look the experience of the guy who built the mold linker(https://github.com/rui314/mold). Far superior to the state of art, improves incremental compiles a lot, widely applicable across ecosystems (C, C++, Rust), CPU architectures and Operating Systems. You don’t even have to modify your compiler, just need to point to his linker. He’s even giving it away for free for personal use. But still, almost no one uses it. The inertia of the established options is really high.
- It’s not complex enough. Think about the complexity involved in the cranelift backend. No one can seriously recreate the efforts of bjorn3. If we could have, we would have. But the idea idea here can be recreated, especially by the experts who already built incremental compilation into rustc.
- But if your solution is truly complex, like the parallel frontend, the burden of maintaining a fork would be too high. You’d have to spend all your time rebasing.
Again I’m not trying to discourage you, just stating the difficulties of making a business in the dev tools space. You would be better off contributing this excellent work to the community and trying a different tack.
-
Mold Course
I initially thought this would be about the mold linker (https://github.com/rui314/mold)
-
Monetizing Developer Tools
I assume this submission is trying to highlight the specific message (2023-01-24) : https://github.com/rui314/mold/issues/190#issuecomment-14028...
Fyi... the author wrote a more expansive blog post about selling dev tools a few months later (2023-06-06) and there was a related HN thread about it: https://news.ycombinator.com/item?id=36225016
-
mold 2.1.0 - rui314/mold
Loongson's LoongArch CPU has been supported. (03b1a1c)
-
Mold 2.0.0
I'm amazed at how quickly the author responds to requests: https://github.com/rui314/mold/issues/1057
From the report to the fix in less than two days.
I'm not sure how competitive it will be with lld, especially if we consider ThinLTO (which takes multiple minutes on 64-core machine) - it can make the advantages of mold insignificant.
- Mold 2.0 released - MIT license
-
Linking many files significantly increases build time. Is there an editor that allows you to write a single file but present the file to the screen as multiple 'virtual' files for better organization?
What other solutions have you tried for the problem of slow linking? You haven't even said which linker and what flags you're using. I haven't actually tried it, but the author of gold has an even faster linker called mold: https://github.com/rui314/mold
- Design and Implementation of the Mold Linker
-
Apple's new library format combines the best of dynamic and static
> Mold did it first, though: https://github.com/rui314/mold
Before LLD?
zld
-
Mold Linker v1.9.0 release
Well sold has a few extra features, namely macOS support, so I assume if you're a developer on a MacBook, and you want to link faster, you'd need to use sold. Although to be honest, I didn't see much difference between soldon macOS and zld.
- zld: A faster version of Apple's linker
- Chaging Cargo Linker in M1 macs
-
Any tips to improve the build time Rust under MacM1::Docker?
Have you tried zld (https://github.com/michaeleisel/zld) for linking?
-
Best central processing unit for compiling Rust in 2022
The default linker is single-threaded so, unless you're on a platform where you can use a fancier multi-threaded linker like mold or zld, single-core performance will dominate for the final linking step.
-
Improve build times for a medium-sized team working on one project?
- If it's not a release build that needs to be verified-good, consider using `mold` to link your builds and test binaries: https://github.com/rui314/mold --- it is much faster than lld or gold. For mac users there is https://github.com/michaeleisel/zld but mostly if you care about build times you need to get off macOS somehow.
-
Hacker News top posts: Jun 6, 2021
Zld: Drop-in, faster version of Apple's linker\ (0 comments)
- Zld: Drop-in, faster version of Apple's linker
-
Reducing Rust Incremental Compilation Times on macOS by 70%
There is also zld (https://github.com/michaeleisel/zld) which might get you a further speed up.
-
Mold: A Modern Linker
as an alternative linker for Rust as an example:
https://github.com/michaeleisel/zld#if-using-rust
What are some alternatives?
wasmtime - A fast and secure runtime for WebAssembly
rust-analyzer - A Rust compiler front-end for IDEs
osxcross - Mac OS X cross toolchain for Linux, FreeBSD, OpenBSD and Android (Termux)
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Cargo - The Rust package manager
chibicc - A small C compiler
cachepot - cachepot is `sccache` with extra sec, which in turn is `ccache` with cloud storage
sccache - Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
city-roads - Visualization of all roads within any city
gccrs - GCC Front-End for Rust
posix-spawn - Ruby process spawning library