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.
The problem is not Apple-specific and actually can (and perhaps will) be spread elsewhere
The specific optimization this achieves is during build time only: these new files are primarily quicker to link static libraries. It is a small shift of some of the linking pipeline into the (parallel) builds of dependencies, rather than heaping it all onto the linker at the end of the build, having to essentially re-link from scratch for every small change
Parallelization has long been known as the best way to speed up linking. This change comes in addition to a rewritten parallel linker. Mold did it first: https://github.com/rui314/mold
This is one of the largest improvements that Zig brings – lightning fast recompiles, bringing the native development cycle closer to web speed.
Static linking is required to get the best performance: with cross-language PGO, LTO and dead code elimination
If this optimization is generally applicable and developers find it worthwhile, I could imagine this making its way to GCC land