[lld-macho] Parallelize scanning the symbol tables in export/unexport-ing.
authorVy Nguyen <vyng@google.com>
Sat, 13 Nov 2021 01:26:30 +0000 (20:26 -0500)
committerVy Nguyen <vyng@google.com>
Sat, 13 Nov 2021 01:57:24 +0000 (20:57 -0500)
commitad932320d89684e23f7952e54bc90c96598db1a3
tree9ec33da894a9c1bce54c28911b16c0099ee526f5
parent4b768eeb976ec15a2701f9a7b3eac2b0b43e8a7d
[lld-macho] Parallelize scanning the symbol tables in export/unexport-ing.

(Split from D113167)
Benchmarking on one of our large apps which exports a few thousands symbols,
this showed an improvement of ~17%.

x ./LLD_no_parallel.txt
+ ./LLD_with_parallel.txt

    N           Min           Max        Median           Avg        Stddev
x  10         84.01         89.41         88.64        87.693     1.7424061
+  10          71.9         74.29         72.63        72.753    0.77734663
Difference at 95.0% confidence
-14.94 +/- 1.26763
-17.0367% +/- 1.44553%
(Student's t, pooled s = 1.34912)

(wallclock)

Differential Revision: https://reviews.llvm.org/D113820
lld/MachO/Driver.cpp