On Sep 17, 2009, at 12:57 PM, Eduardo Cavazos wrote:
Hello,
I've been having a grand old time with the 'time' macro,
investigating the effects of subtle code changes. But for large
programs, a profiler would be much better.
Aziz, is there a profiler available for Ikarus?
Nop.
I'm more interested in finding out where my program is spending the
majority of it's time, as opposed to "number of times a procedure is
called". Even if you have an experimental one laying around, I'd be
happy to try it.
I don't.
I've considered running my code in another Scheme for the profiler.
For example, DrScheme has a profiler. Also, Larceny comes with an
experimental profiler (lib/Debugger/profile.sch). One concern I have
is that the results would be of limited use if the different systems
use different compilation/optimization techniques.
That's certainly true. Another concern is whether the results of the
profiled code match what you get without profiling under the same
implementation. This is what makes me queasy about doing anything
regarding profiling in Ikarus.
I.e. I really should run the profiler on Ikarus if that's the system
I want my code to run fast on.
Or you can write fast code to begin with. ;-) That's what I do.
[You don't need to supply an argument for why this doesn't work for
everybody, or to justify why a profiler would still be useful. I know
that already.]
One minor hurdle in the way of using the DrScheme profiler is that
it requires an '#!r6rs' at the top of every file... Sure, I could
add that but it seems silly when every other implementation I use
doesn't demand it.
It's as you say, minor. I think it's not a big deal since it allows
MzScheme to integrate R6RS with other modules written in other
"languages". They could've picked another convention (like file
extensions), but this is the better choice since it allows you to put
more information in the first line than you could otherwise. Anyways,
I don't think the DrScheme profiler would be useful in your case.
Aziz,,,