diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-01-08 04:30:32 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-01-08 04:30:32 +0000 |
commit | 32a8ad526f9bc00539f000a2dd1ac3e167db61c1 (patch) | |
tree | 04cb48e18df9de0e4dcdd80a6237a990d0a6facf /lib/Analysis/MemRegion.cpp | |
parent | b70e3dafb9618f34017061400dc19ac5e3539a6d (diff) |
PTH: Hook up getSpelling() caching in PTHLexer. This results in a nice
performance gain. Here's what we see for -Eonly on Cocoa.h (using PTH):
- wall time decreases by 21% (26% speedup overall)
- system time decreases by 35%
- user time decreases by 6%
These reductions are due to not paging source files just to get spellings for
literals. The solution in place doesn't appear to be 100% yet, as we still see
some of the pages for source files getting mapped in. Using -print-stats, we see
that SourceManager maps in 7179K less bytes of source text (reduction of 75%).
Will investigate why the remaining 25% are getting paged in.
With these changes, here's how PTH compares to non-PTH on Cocoa.h:
-Eonly: PTH takes 64% of the time as non-PTH (54% speedup)
-fsyntax-only: PTH takes 89% of the time as non-PTH (11% speedup)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61913 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/MemRegion.cpp')
0 files changed, 0 insertions, 0 deletions