Optimization in Development Tools
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.