This is an archive of the discontinued LLVM Phabricator instance.

[LLD][COFF] Parallel sort publics
ClosedPublic

Authored by aganea on Jan 4 2019, 2:33 PM.

Details

Summary

On large PDBs with many symbols, this can save up to 1 sec. On smaller PDBs, this saves time in all cases.

TrunkThis patch
Large EXE (PDB is ~2 GB)3330 ms2022 ms
Large EXE (PDB is ~2 GB)2680 ms1608 ms
Large DLL (PDB is ~1 GB)1455 ms938 ms
Large DLL (PDB is ~800 MB)1215 ms800 ms
Small DLL (PDB is ~200 MB)224 ms146 ms

Diff Detail

Repository
rLLD LLVM Linker

Event Timeline

aganea created this revision.Jan 4 2019, 2:33 PM
aganea marked an inline comment as done.Jan 4 2019, 2:35 PM
aganea added inline comments.
COFF/PDB.cpp
217
NOTE: Including Parallel.h creates these conflicts (which I can commit separately).
aganea edited the summary of this revision. (Show Details)Jan 4 2019, 2:45 PM
rnk accepted this revision.Jan 4 2019, 3:00 PM

lgtm

This revision is now accepted and ready to land.Jan 4 2019, 3:00 PM
This revision was automatically updated to reflect the committed changes.