I use gprof2dot to visualize the output from python cProfile quite a lot.  You may want to try that out:


It only breaks it down between functions, but it should give an idea of where most the time is being spent.


On Sat, Mar 26, 2011 at 11:38 AM, Stephen Skory <stephenskory@yahoo.com> wrote:
Hi Matt,

> >
> > In summary, for medium to very large sized clumps (in terms of number of
> cells), the treecode is showing it's usefulness. My tests are not complete,
> but the break even line with the standard opening angle (==approximation
> control) of 1.0, is about 100,000 cells. For example, a spherical clump with
> three levels and 120,000 cells takes 272 seconds with the O(N^2) method, 175
> seconds with the treecode, and has a 0.05% error.
> That's interesting.  To be perfectly honest, I kind of expected it to
> perform a bit better.  Any insight where the overhead comes from?

I'm not sure. I haven't timed individual steps of the code yet to see if something is unreasonably slow. Any useful tool recommendations are welcomed.

> It should be on by default.  What is the performance difference, for a
> small/medium clump?  10%?  50%?  Factor of 10?

It looks like it's no worse than a factor of two slower for opening_angle=1.0 at around 30,000 cells. I plan on making a figure showing this stuff soon.

> Very nice work!  I have reviewed your changes and I think you should
> merge them.  This will be a shining addition to the 2.1 release.

Thanks for the praise, I appreciate it.

> Could you post a script verifying that it works for clumps on the edge
> and in the center, to be added to the answer tests?

Sure, I can do that.

Stephen Skory
510.621.3687 (google voice)

Yt-dev mailing list