[cfe-dev] Improving Clang Parse Performance
James Dennett
james.dennett at gmail.com
Mon Jun 11 11:13:45 PDT 2012
On Mon, Jun 11, 2012 at 10:16 AM, sccllghn <sccllghn at yahoo.com> wrote:
> I am trying to use Clang for parsing some C++ programs and have had good
> success. The problem is performance. I can parse about 400,000 lines of C
> code scattered in 400 files in about 25 minutes on a really fast machine.
That is odd. Clang's parser is pretty fast, as C++ parsers go. Have
you tried using an optimized build of Clang to compiler your 400
files? 400,000 lines isn't much code, and 25 minutes is a long time.
> I
> think that this is not very good, considering that I am doing a lot less
> than a compiler. Am I mistaken in my expectations?
A rule of thumb is that, when not optimizing, lexing/parsing takes
about half of the total compiler time. If you do no work beyond
parsing you might be able to be twice as fast as clang++ when it's
compiling.
> My sense is that to get a real bump in performance, I need to use
> pre-compiled header files, because the vast majority of parsing is being
> done over and over.
My guess is that something is strange in your setup, because I'd
expect that Clang is faster than that. How long does it take to
*compile* your 400k LOC?
-- James
More information about the cfe-dev
mailing list