HomePhabricator

[ELF] Use parallel_for_each for writing.
Audit RequiredrL232460

Description

[ELF] Use parallel_for_each for writing.

This changes improves performance of lld, when self-hosting lld, when compared
with the bfd linker. BFD linker on average takes 8 seconds in elapsed time.
lld takes 3 seconds elapased time average. Without this change, lld takes ~5
seconds average. The runtime comparisons were done on a release build and
measured by running linking thrice.

lld self-host without the change

real 0m3.196s
user 0m4.580s
sys 0m0.832s

lld self-host with lld

user 0m3.024s
user 0m3.252s
sys 0m0.796s

time taken to build lld with bfd

real 0m8.419s
user 0m7.748s
sys 0m0.632s

Details

Auditors
Bigcheese
Committed
shankareMar 16 2015, 8:29 PM
Parents
rL232459: [AArch64] Use intermediate step for concat_vectors of illegal truncs.
Branches
Unknown
Tags
Unknown