[Openmcl-devel] Shark

Dan Knapp dankna at accela.net
Sun Apr 10 02:16:32 UTC 2005


   I've spent a little time messing with Shark, using a modified version 
of the code
Hamilton posted in October.  I've attached my version of his file, in 
case it's
useful to anybody; it just makes a couple trivial changes to output all 
the
symbols in a specified package, instead of only one symbol at a time.

   I am seeing weird behavior when I try to actually use this code.  
Shark fails to
identify most of the symbols; well, that's not necessarily a bug.  But 
it claims that
most of the time is spent in functions which I know weren't being 
called, since
they are in a totally different program module.  It also claims that 
functions which
I know did run for at least several seconds weren't called at all.  In 
other words,
somehow the symbol addresses Shark gets are wrong.  How can that be?  I
thought the call to (ccl::purify) moved function definitions into a 
read-only area,
where they wouldn't be moved again...  Are functions being aggressively
inlined?

   In an old post, Gary, you mentioned that there was a way to get 
OpenMCL to
cough up what function a given address is in.  That might be a bit 
helpful in
diagnosing this problem.  How does that work?

   For now, I'm just going to do my profiling the old-fashioned way, 
putting timers
around each of the functions I suspect of being problematic.  So I 
don't really
need to solve these Shark issues for myself, right now, but it would be 
great to
have a general framework for others to use.

-- Dan Knapp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sharktest.lisp
Type: application/octet-stream
Size: 1530 bytes
Desc: not available
URL: <http://lists.clozure.com/pipermail/openmcl-devel/attachments/20050409/403cc246/attachment.obj>


More information about the Openmcl-devel mailing list