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: [Committed] Use special-purpose hash table to speed up walk_tree


On Saturday 16 October 2004 11:47, Jakub Jelinek wrote:
> On Thu, Oct 14, 2004 at 04:15:44PM -0700, Matt Austern wrote:
> > This patch isn't really as big as it looks.  walk_tree allows you to
> > provide a hash table to keep track of which nodes have already been
> > seen.  We were using htab_t, a general-purpose hash table with lots of
> > knobs for the client to tweak.  This patch replaces it with a
> > special-purpose hash table that has no more functionality than
> > walk_tree needs.  In particular, this special-purpose hash table
> > doesn't support deletion, doesn't give its client control over resizing
> > policy, and doesn't allow its client to specify the hash function or
> > equality function.  (It just uses the values of the pointers
> > themselves.)
> >
> > Bootstrapped and tested (C, C++, Java) on powerpc-apple-darwin.  This
> > gives a 2% speedup on building QT.
>
> But on x86-64-redhat-linux essentially makes even bootstrap impossible
> (well, I have killed it after it spent more than 10 minutes compiling
> insn-recog or insn-attrtab by stage1/cc1).
> hash1's distribution is less than perfect.

Ah, I was wondering why my bootstrap was so slow recently :-)

It would have been nice if this patch had been tested better.  Good
for you, 2% on QT, but what are the effects on other code?  And are
we in stage3 now or not?  I did not see this idea on Mark's list of
things that would be allowed in.

And why did Mark approve this offline, isn't it the policy that a
patch is posted to gcc-patches and reviewed in public?

Gr.
Steven




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