This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [PATCH] lookup_tag speedup


hmm.. I will look at lang_identifier approach. One immediate question
is - how to handle situations where we want to process all tags for
given binding level?

Meanwhile, my current patch is far better than what we have today.
And work is complete. Would it be possible for this patch to get in
while we continue to work on even better alternatives ?

thoughts?
-Devang

On Wednesday, April 9, 2003, at 07:35 PM, Zack Weinberg wrote:

Devang Patel <dpatel at apple dot com> writes:

This patch gives 10% or more compile time speed up for real life
projects I used to measure compile time. It adds use of hash table
for tags lookup.

I was just meaning to respond to the draft patch you sent last week.


I think use of a hash table per binding level is overkill.  All you
need to do is add a field to struct lang_identifier (call it
tag_value), create an IDENTIFIER_TAG_VALUE macro to get at it given
an IDENTIFIER_NODE, and then manage it the same way that
IDENTIFIER_LOCAL_VALUE is currently managed -- look at poplevel.

This is essentially the approach that I took doing the same thing, but
if you restrict yourself to this change you shouldn't run into the
headaches that I did.  We will get the memory back when I do finish my
symbol lookup patch, so don't worry about bloating lang_identifier.

zw


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