Closed michaeleisel closed 2 years ago
Due to a lack of interest from large-scale companies (with lld now in the picture), I've just decided to merge all of these optimizations into master. You can now enjoy the benefits of zld pro from open-source zld! I do still recommend people to try lld, which for the app I tested was still faster than zld pro.
Having received a bug report that may have been caused by zld pro, I will actually be reverting the merge from master, but leaving it on the pro
branch
zld pro: a faster, paid version of zld!
A Brief History of zld
In March of 2020, zld was released. After a couple more months of bug fixes and optimizations, it went into maintenance mode, where it still is today. It receives bug fixes to make sure it has parity with ld64 (and continues to be faster) but it doesn’t receive any new optimization work. However, in the summer of 2021, I began doing linker optimizations once again for zld pro, and found enough gains for it to be worth a product.
What do I get with zld pro?
zld pro's main benefit is that it's faster: it performs linking for 3+ second linking jobs in about 65% the time that zld does. It also comes with support plans, and the full source code of zld pro itself, so you can deploy a version built by you if you want.
zld pro vs. other linkers
zld is not the only attempt at making a new linker for Apple. There’s zig’s linker, LLVM’s linker lld, and a couple of others. Although someday these other linkers may offer their own benefits over zld pro, or compete with it in speed, it remains to be seen when. Linkers are giant projects, and gain new requirements each year with changes the Mach-O format, Swift support, etc. . Any linker that’s not a fork of ld64 (which includes the alternatives mentioned) will always have to keep adding support for Apple’s new changes themselves. Furthermore, none of those linkers have reached parity for iOS development today.
Pricing
Pricing is flexible and takes into account the size of the team and the expected speedup. It's easy to estimate the value of zld pro by multiplying expected time saved by cost of developer hours (not to mention devs not losing their flow state). The price of zld pro comes far below this value.
If you’re interested in zld pro, send me an email at michael@emergetools.com