Suresh Duddi wrote:
> So either my timing was off or the cid hash table is really working
> poorly. The nsIDKey seems to be using the top 4 bytes bytes of the CID
> as the hash code.
When I was whacking on the component manager a few months ago, I did
some investigations into how the bits of our CIDs were distributed, and
though I don't have the results around any more, I recall that the first
4 bytes weren't a great choice. I ended up mixing in bits from m1 as
well, IIRC.
I wouldn't be surprised if the locking in the hash table was hurting us
savagely; we've found that before. XPCOM and the component manager need
to grow some of the clever lazy-lock-allocation stuff that jband does in
XPConnect and brendan does in JS. Of course, before any of that, we
really want to use pldhash in the component manager: it's a nice space
and time win. (Bug 46832 has some of the bits in it, if you find that
helpful.)
Mike