Elektrine lite

← Feed

@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.

    Open ##1546588

  • @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.

    Open ##1546600