@david_chisnall@infosec.exchange
Post #1546585
2026-04-14 11:41 UTC
@edwintorok @regehr
I've never looked at GCC's implementation, but LLD's LTO is multithreaded unless you're doing 'full' LTO (which combines all of the IR and does compilation as if you had a single compilation unit), but no one would enable that as the default because it's really slow.
Replies (2)
-
@edwintorok@discuss.systems 2026-04-14 12:00
@david_chisnall @regehr I think that even without LTO, looking at the number and size of inputs to a linker could be useful for limiting memory usage, while preserving some parallelism.
-
@pinskia@hachyderm.io 2026-04-15 00:05
@david_chisnall @edwintorok @regehr GCC's LTO is parallel using make jobserver which ninja does provide. So in theory if ninja notices low memory; it could back off to only one job being offered at a time. I am not sure there is a dynamic build system out there though. Most instead just offer a static job count at a time.