joel@decwrl.DEC.COM@ndmce.uucp (Joel McCormack) (10/17/86)
I have found that parsing is NOT a negligible activity: I use a Modula-2 front end which generates p-code, and gprof shows yyparse as 8.4%. This is more than any other procedure except mcount, which is an artifact of gprof. Taking into account the time spent inside of mcount and the time spent invoking it (ever notice how gprof always puts frequently-called procedures, even tiny ones, in the top 20?), I would guess that yyparse is eating about 13% of the front end. If anyone has better parser code, I'd love to hear about it. I tried a few things like moving some variables into the globals, and making some register shorts into register ints (cc won't put a short into a register). Almost no improvement. I don't know how much time in spent in the actual parsing code, and how much is spent invoking the semantic productions. -- - Joel McCormack {ihnp4 decvax ucbvax allegra}!decwrl!joel joel@decwrl.arpa