[FIX] RE: Performance profiling results... (fwd)
Scott A Crosby
crosby at qwes.math.cmu.edu
Fri Oct 5 07:02:53 UTC 2001
There is the fix below suggested by Andreas Raab, and also the following
patch:
--- sqXWindow.c Fri Oct 5 00:54:09 2001
+++ sqXWindow.c~ Wed Jul 25 17:21:22 2001
@@ -168,8 +168,7 @@
z_stream *internalZStream= 0; /* non-zero means gzipped image */
#endif
-/* #undef USE_ITIMER /* severely confuses GNU's profil() */
-#define USE_ITIMER
+#undef USE_ITIMER /* severely confuses GNU's profil() */
#ifdef USE_ITIMER
unsigned int lowResMSecs= 0;
//
The referred to problem with GNU's profil() no longer occurs under linux.
I had no trouble profiling things, and this cuts down the invocations of
IOMSec by a factor of 40 or so, now, about 70% of the invocations are
caused by smalltalk code!
---------- Forwarded message ----------
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!
> Over 99% of the invocations of the function 'fetchClassOf' are when
> invoked from 'commonSend' in the interpreter. (approximately
> 350 million).
Yup. I see the culprit, it's
receiverClass := lkupClass := self fetchClassOf: rcvr.
which doesn't get inlined properly. Should be rewritten as
lkupClass := self fetchClassOf: rcvr.
receiverClass := lkupClass.
to eliminate the call.
More information about the Squeak-dev
mailing list
|