diff options
author | Rui Ueyama <ruiu@google.com> | 2015-09-18 01:51:37 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2015-09-18 01:51:37 +0000 |
commit | c9a6e827bddf9f4cc699b22d0c50d87c1454e4f1 (patch) | |
tree | 6558923a445783c96d2a2a60837ee43d320bc449 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp | |
parent | 038bf833c4c0b3d40adf89cde18a247651e4867c (diff) | |
download | llvm-c9a6e827bddf9f4cc699b22d0c50d87c1454e4f1.zip llvm-c9a6e827bddf9f4cc699b22d0c50d87c1454e4f1.tar.gz llvm-c9a6e827bddf9f4cc699b22d0c50d87c1454e4f1.tar.bz2 |
COFF: Optimize ICF by not creating temporary vectors.
Previously, ICF created a vector for each SectionChunk. The vector
contained pointers to successors, which are namely associative sections
and COMDAT relocation targets. The reason I created vectors is because
I thought that that would make section comparison faster.
It did make the comparison faster. When self-linking, for example, it
saved about 10 ms on each iteration. The time we spent on constructing
the vectors was 124 ms. If we iterate more than 12 times, return from
the investment exceeds the initial cost.
In reality, it usually needs 5 iterations. So we shouldn't construct
the vectors.
llvm-svn: 247963
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp')
0 files changed, 0 insertions, 0 deletions