This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]