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 | d5e6e16d0d2221135fd8a83fc53819ac2c423aa1 (patch) | |
tree | b3c0513d1b43d27d0385b18e46d2d243c0049921 /llvm/unittests/ADT/StringMapTest.cpp | |
parent | 145a7cfa850b2f0aee0488ec60f8cfa222025151 (diff) | |
download | bcm5719-llvm-d5e6e16d0d2221135fd8a83fc53819ac2c423aa1.tar.gz bcm5719-llvm-d5e6e16d0d2221135fd8a83fc53819ac2c423aa1.zip |
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)
llvm-svn: 61913
Diffstat (limited to 'llvm/unittests/ADT/StringMapTest.cpp')
0 files changed, 0 insertions, 0 deletions