fetchClassOf & commonSend?

Scott A Crosby crosby at qwes.math.cmu.edu
Tue Dec 11 05:37:03 UTC 2001


On Mon, 10 Dec 2001, John M McIntosh wrote:

> At 3:02 AM -0400 10/5/01, Scott A Crosby wrote:
> >Date: Sat, 22 Sep 2001 12:40:00 -0700
> >From: Andreas Raab <Andreas.Raab at gmx.de>
> >Reply-To: squeak-dev at lists.squeakfoundation.org
> >To: squeak-dev at lists.squeakfoundation.org
> >Subject: RE: Performance profiling results...
> >
> >Scott,
> >
> >Interesting results!
> >
>
> Ah, did we ever fix this? and get it into the update stream?
>

No... So far, *nothing* I've done has gotten into the update stream.

> Doing benchmarks and sure enough my interp.c calls out 293 million
> times to fetchClassOf for the test I'm doing...

Yep, the ONE place you do want that inlined, its not being inlined..
Though, may I suggest just using my improved cache (30% faster), I have
this fix already included in that changeset.

>
> Also 161 million calls to ioMSecs or 272,923 calls per second! but I
> need to investigate that more...

Yep, I reported this over 2 months ago.. Its because primitiveResponse()
checks the clock before and after every primitive to determine whether it
ran over the timer interrupt.

Workaround by:

#define ITIMER

in sqXwindow.c (I send an email out yesterday to the list reminding
everyone of my work, including this.)

>
> Mind what I'm seeing was 15% of the time in the mach-o was taken to
> calculate macho-carbon milliseconds. Using gettimeofday is much more
> efficient. 5%+  was taken in pthreads, that's fixed too.
>

I saw about 5% wastage, but I only had 40k invocations/second. You're
getting a *lot* more.

Scott





More information about the Squeak-dev mailing list