[all-commits] [llvm/llvm-project] 3b3e28: [PDB] Optimize public symbol processing
Reid Kleckner via All-commits
all-commits at lists.llvm.org
Fri May 8 10:23:46 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3b3e28a07cf5482db27581ecf23f6364b912f733
https://github.com/llvm/llvm-project/commit/3b3e28a07cf5482db27581ecf23f6364b912f733
Author: Reid Kleckner <rnk at google.com>
Date: 2020-05-08 (Fri, 08 May 2020)
Changed paths:
M lld/COFF/PDB.cpp
M llvm/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
Log Message:
-----------
[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
More information about the All-commits
mailing list