Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Need a basic profiler #108

Closed
ViralBShah opened this Issue · 7 comments

4 participants

@ViralBShah
Owner

Julia performance is often quite opaque, and it is hard to tell where time is being spent. I think it is time we need a basic profiler. Marking this as 2.0, unless there is something minimal and possible in the 1.0 timeframe.

@grandinj

I note that LLVM has an llvm-prof command, which might be useful as a starting point.

@StefanKarpinski

I'm not sure about llvm-prof, but the LLVM tools tend to be designed for compiled code and since we JIT instead, they're usually not that helpful. Will check it out though.

@shabbychef

the matlab profiler is the only thing that keeps me from using octave instead (well, my company buys the license, too). a good profiler is, IMO, essential for scientific computing.

@ViralBShah
Owner
@StefanKarpinski

Matlab's profiler is really, really awesome. One of the best I've encountered — largely because it's so incredibly easy to use. We really do need something in this arena, but I'm not sure what the best approach is. Can we just instrument the entry and exit from every function call and then build a profile from that? Or will that measurement itself affect performance too much?

@grandinj

Profilers exist on a spectrum.
Profilers that insert instrumentation code are good at providing very fine-grained profiling, but at the cost of speed.
Sampling profilers simply take periodic copies of the stack, which is low-overhead, but requires more time to build up a good profile.

I would suggest building on top of one of the existing open-source tools:

http://code.google.com/p/gperftools/
http://code.google.com/p/shinyprofiler/
http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html

@ViralBShah
Owner

Closing this one since we already have the basic profiler by @timholy

@ViralBShah ViralBShah closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.