This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Precompiled headers (or other speed ups)
Zack Weinberg wrote:-
> The tokenizer is, in my tests, consistently faster than the analogue
> in GCC 2.95. Macro expansion can still be a bottleneck under some
> conditions.
That's interesting. Are these tests you've done recently? i.e. is it
since I moved us to the forwards-looking, almost-no-step-back lexer?
It's good news if it is.
I think our object-like macro expansion is near optimal, particularly
as integrated CPP. We simply dish out tokens straight from the
replacement list, with just a quick test that the new token isn't a
macro.
Stand-alone CPP is dog slow on token output (50%-70% of run-time!),
because of GLIBC. But we know that, and decided we don't care too
much for the moment since for the common case we're now integrated.
If you like, I can work on the function-like macro expansion as a
"performance enhancement" during the GCC 3.0 branch for release. I
think we can speed up nested function-like macros a lot (and have an
old patch on my drive to do so, but it would need dusting off a
little).
Neil.