aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-04-25 00:48:01 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-04-25 00:48:01 +0000
commit39fa6a285ca47392c7ab6546d9ca1d93d1b12fe6 (patch)
tree01a0fae01a477c36e313c9a66d5c816437159963 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent6e5de2ea0672810a2d9578f17825002989fa1b1a (diff)
downloadllvm-39fa6a285ca47392c7ab6546d9ca1d93d1b12fe6.zip
llvm-39fa6a285ca47392c7ab6546d9ca1d93d1b12fe6.tar.gz
llvm-39fa6a285ca47392c7ab6546d9ca1d93d1b12fe6.tar.bz2
Fix quadratic performance during debug compression due to sections x symbols iteration.
When fixing the symbols in each compressed section we were iterating over all symbols for each compressed section. In extreme cases this could snowball severely (5min uncompressed -> 35min compressed) due to iterating over all symbols for each compressed section (large numbers of compressed sections can be generated by DWARF type units). To address this, build a map of the symbols in each section ahead of time, and access that map if a section is being compressed. This brings compile time for the aforementioned example down to ~6 minutes. llvm-svn: 207167
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions