[cfe-dev] Is there a way to speed up parsing?

Jean-Daniel Dupas devlists at shadowlab.org
Tue Aug 6 06:38:28 PDT 2013


Le 6 août 2013 à 15:21, Zurab Btensnae <zurabnbs at gmail.com> a écrit :

> Hello!
> 
> I've tried to use libclang and, first of all, for test purposes I've indexed LLVM with it (using clang_indexSourceFile with empty callbacks). But the whole process takes about an hour, which is very slow. As far as I know libclang is used in some IDEs as a code assistance provider, but how it could be if it consumes so much time on relatively big projects? The project which I'd like to open is even bigger then LLVM (Mozilla). Is there a way to speed up parsing - for example to parse headers only once (create precompiled header for each parsed header), and then reuse this information in other translation units? Maybe this will lead to some inaccuracy because contexts are different, but performance is a showstopper for me :(. I'm ready to try to hack clang:) if somebody who is familiar with clang will give me a short briefing on how this could be done in principle (or maybe this is just impossible).
> 
> Also I have to say that this is a great project and you guys are awesome! To thank you, I have included a link to a cat in a slipper:
> http://0.tqn.com/d/cats/1/0/5/I/3/jasp_slipper291x227.jpg


If indexing LLVM take more time that compiling it in the first place, you probably do something wrong. 
Can you be a little more specific about what you did, and how you did it ?

Are you using a debug build (which is far slower that release build) ?
Have you a sample project so we can try to reproduce it at home ?

-- Jean-Daniel




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130806/7e04b6aa/attachment.html>


More information about the cfe-dev mailing list