Revision 608183
Go back to digest for 3rd December 2006Optimization in Development Tools
David Nolden committed changes in /branches/kdevelop/3.4:
Implement a powerful caching-mechanism for preprocessing included files. The driver manages a lexer-cache of limited size that stores multiple variants of lexed files including their exact dependency-information that can be used to exactly determine whether the file needs to be lexed again under current driver's state, or whether the results of a previous run can be used.
This makes the header-parsing mode usable for every-day-use, and lightning fast for example while editing a file and the same file needs to be parsed again and again!
Parsing kdevelop-3 still takes more time than without header-preprocessing, but it's another order of magnitude compared to before.
Note: This might also become useful for kdevelop-4.
File Changes
Modified 10 files
- /branches/kdevelop/3.4
- /languages/cpp/backgroundparser.cpp
- /languages/cpp/backgroundparser.h
- /languages/cpp/cppsupportpart.cpp
- /languages/cpp/cppsupportpart.h
- /lib/cppparser/driver.cpp
- /lib/cppparser/driver.h
- /lib/cppparser/lexer.cpp
- /lib/cppparser/Makefile.am
- /lib/interfaces/hashedstring.cpp
- /lib/interfaces/hashedstring.h
10 files changed in total