[lld] [lld][MachO]Multi-threaded i/o. Twice as fast linking a large project. (PR #147134)
John Holdsworth via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 8 06:16:30 PDT 2025
johnno1962 wrote:
I've added another commit concentrating I/o of archive contents still further and the last ten linking times are now:
13.2, 11.9, 12.12, 12.01, 11.99, 13.11, 11.93, 11.95, 12.18, 11.97
Which is about half the original elapsed linking time of the original code not using multi-thread I/o.
26.01, 25.84, 26.15, 26.03, 27.10, 25.90, 25.86, 25.81, 25.80, 25.87
I/o is about as concentrated now as it can get looking at activity monitor.
<img width="405" alt="image" src="https://github.com/user-attachments/assets/5cf39820-16ed-49f3-8fff-3d5b7fdbd61d" />
Chrome is still linking and running so it doesn't look like I've broken anything. Despite being multi-threaded all memory access is readonly and the original code paths are not changed. All that is happening is the system is being asked more urgently to page in file rather than waiting for processing to request a page-in which would otherwise stall the process.
https://github.com/llvm/llvm-project/pull/147134
More information about the llvm-commits
mailing list