New method cache, 30% faster macrobenchmarks and ineffeciencies.

Stephan Rudlof sr at evolgo.de
Mon Dec 10 15:31:45 UTC 2001


Scott A Crosby wrote:
> 
> On Mon, 10 Dec 2001, Stephan Rudlof wrote:
> 
...
> 
> IE, #identityhash returns SOME number based on the object's as-constructed
> ID, with nothing forcing that number to be exactly #hashBits. And your
> notion of #longHash is equivalent to #hash?

No, 'building support for the changed ProtoObject>>identityHash
                              ^^^^^^^ (your's)
named e.g. #longHash into the VM'.
^^^^^^^^^^

Probably better to name it #primitiveIdentityHash in the VM, though...

> > Answer: there is only about a 25% performance loss for a *very* simple loop
> > for the ST version:
> >
> 
> Not too surprised, its an extra method invocation. Note that this is
> overstating the numbers, usually, we invoke #hash, not #identityHash, so
> that we're going from 2 levels of indirection to 3 levels, and the
> relative degradation will be lower.
> 
> >
> > This isn't worth introducing a new prim, isn't it?
> >
> 
> Not yet. :) Well, unless the next incompatible VM comes out, then it
> probably makes sence to reclaim the bytecode and make both #hashBits and
> #identityHash named prims.

Agreed.

Greetings,

Stephan
-- 
Stephan Rudlof (sr at evolgo.de)
   "Genius doesn't work on an assembly line basis.
    You can't simply say, 'Today I will be brilliant.'"
    -- Kirk, "The Ultimate Computer", stardate 4731.3




More information about the Squeak-dev mailing list