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,,,

Reply via email to