On Sep 16, 12:43 am, Russell Keith-Magee <russ...@keith-magee.com>
wrote:

> Do we have a continuous performance benchmark at present? No.
>
> Would it be worth having one? Certainly.
>
> There's a long standing ticket proposing just such a change:
>
> http://code.djangoproject.com/ticket/8949
>
> And there was a sprint earlier this year that started developing a
> benchmark set that could be used; results so far can be found here:
>
> http://github.com/jacobian/djangobench
>
> However, there's still a lot of work to do to build up the benchmark
> set and deploy it in a continuous integration environment. I'm not
> aware of anyone specifically coordinating this benchmark work at the
> moment, so if you want to step up and make this your contribution,
> feel free to do so!

the benchmarks project seems mostly like a high level comparison of x
is faster or slower than y

It is not so much about profiling.

The problem with some profiling approaches, is it involves going in
and adding profiling code to cover the whole project analogous to
testing.

enter Dtrace - which can expose profiling hooks at a very low level.
Since the test suite is a pretty good coverage python, I started
there.  But this could be used to watch a test server with a faux site
being hammered by test clients to give a real world performance view.

So I did a quick experiment using a Dtrace recipe from the Dtrace
toolkit [1] called py_cputime.d

I ran the current trunk test suite while probing.  I made no effort to
exclude setup and teardown.  There seems to be some limitations of the
Dtrace support in the Python I was using (OSX 10.6.3) in that I was
getting some reports of dynamic variable drops to stderr.  However I
think the results are still very interesting and as a technique, show
a lot of promise:

http://ptone.com/misc/django-dtrace.txt

The report shows for each function a count, an Exclusive function on-
CPU time, and Inclusive function on-CPU time

At a glance - this shows you where Django is spending most of its
time.  It doesn't say anything about whether that time is unavoidable
or required - just where to look for some possible lower hanging
performance fruit.

-Preston

[1] http://hub.opensolaris.org/bin/view/Community+Group+dtrace/dtracetoolkit

>
> Yours,
> Russ Magee %-)

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to