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.