From: | Gabriel Dos Reis <gdr@integrable-solutions.net> |
Newsgroups: | comp.compilers |
Date: | 6 Aug 2006 12:39:31 -0400 |
Organization: | Integrable Solutions |
References: | 06-06-044 06-06-055 06-07-023 06-07-031 06-07-109 06-07-114 06-08-013 06-08-019 06-08-027 06-08-028 |
Keywords: | GCC, parse, performance |
Posted-Date: | 06 Aug 2006 12:39:31 EDT |
Hans-Peter Diettrich <DrDiettrich1@aol.com> writes:
| Do you take macro expansion into account, or only something like
| precompiled headers?
GCC has machinery to distinguish the timing for preprocessing from
that of parsing. I'm talking of parsing. Have a look at the various
push/pop TV_* in the source code.
[...]
| My primary interest is the creation of the namespace tables. Are these
| built only from explicitly #included files? IIRC the #using directive
| doesn't allow for file names, so what's the source for the import of
| the mentioned namespaces?
There is no #using directive in C++.
[ in the next message ]
| What do you consider part of the parser?
|
| When the preprocessor is built into the compiler, there exist several
| steps between the lexer and the parser, including the handling of #if,
| #include, macro expansion and more.
yes; I'm NOT talking of those steps.
As a matter of fact, the preprocessor is quite fast (compared to other
industrial-strength ones).
GCC has a timing framework that makes it possible to gather detailed
enough statistics about various parts of the compiler.
--
Gabriel Dos Reis
gdr@integrable-solutions.net
Return to the
comp.compilers page.
Search the
comp.compilers archives again.