HomePhabricator

[PDB] Optimize public symbol processing

Authored by rnk on May 3 2020, 9:29 AM.

Description

[PDB] Optimize public symbol processing

Reduces time to link PGO instrumented net_unittets.exe by 11% (9.766s ->
8.672s, best of three). Reduces peak memory by 65.7MB (2142.71MB ->
2076.95MB).

Use a more compact struct, BulkPublic, for faster sorting. Sort in
parallel. Construct the hash buckets in parallel. Try to use one vector
to hold all the publics instead of copying them from one to another.
Allocate all the memory needed to serialize publics up front, and then
serialize them in place in parallel.

Reviewed By: aganea, hans

Differential Revision: https://reviews.llvm.org/D79467

Details

Committed
rnkFri, May 8, 10:23 AM
Reviewer
aganea
Differential Revision
D79467: [PDB] Optimize public symbol processing
Parents
rG8cb86ead7741: [lldb/test][Darwin] Ask dyld where the real python is
Branches
Unknown
Tags
Unknown