D18551: clang: Create preamble only on second parse
René J.V. Bertin
noreply at phabricator.kde.org
Thu Feb 14 09:24:28 GMT 2019
rjvbb added a comment.
> To some extent this resembles the classic latency/throughput discussion.
I'd say that is exactly what it is, not just to some extent. What else would it be?
> Keeping unnecessary preambles is problematic regardless of whether `/tmp` is a RAM disk or not
Indeed, and in that light clang's solution is maybe not that smart, at least not for use as a parser for an entire project. From what I understand that preamble is just a precompiled header file, which in my experience can be tricky to set up (typically require some sort of central header that imports everything that'll be needed everywhere). Having one such preamble per file cannot but duplicate lots of data.
> I can't say how hard it would be technically. But since we watch files anyway,
Separate issue, but not all systems support tracking (that many) individual files. On Mac you only get directory watching, for instance.
> we could also track dependencies and reparse active documents if a dependency has changed.
I was assuming this is what happens, at least for open files. Of course that could be something done entirely by libclang internally.
To: aaronpuchert, #kdevelop, mwolff, brauch, rjvbb
Cc: rjvbb, kdevelop-devel, gennad, glebaccon, antismap, iodelay, alexeymin, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the KDevelop-devel