Is there any continuous speed testing done for Django? It would be nice to see how performance of Django is evolving. For example while working on ticket #14290, seeing how my changes to utils/translation/ __init__.py affect other parts of the framework would be useful. In general, speed testing should expose performance problems early, so that design of features can be changed before the feature goes into a release.
If there is no continuous benchmarking done at the moment, maybe using Codespeed (http://wiki.github.com/tobami/codespeed/) could be considered. It is the framework used for http://speed.pypy.org, and it is built using Django. If there is need for this kind of work, I am volunteering to do some work. That is, set up Codespeed and do some simple tests. I haven't tested integrating Codespeed with Django yet, so it is possible that Codespeed is not useful in this set up. I would like to integrate it with git, so that it would be easy to do speed testing of your own development branches. In SVN this is hard to do, if I am not mistaken... I am thinking of implementing the following tests (as time permits): Template rendering, simple case: build a table of, say 1000 x 10 cells using for loops. Template rendering, forms: build a large form (possibly with FormSets) and use that in a template. Maybe both with {{ form.as_table }} and iterating through the form. This would test form rendering, not initialization. Template rendering, real world case: Use {% extends %}, {% include %}, {% trans %}... blocks, that is, build a simple template that reflects real world usage. QuerySet building: Simple QuerySet building: Foo.objects.filter(pk=id). Complex QuerySet building (couple of filter operations, with some joins), maybe order by etc. Object creation: Just create a bunch of Model objects. A few cases here, simple object (only id) creation, complex object (many fields) creation, objects with foreign keys, inheritance and deferred fields object creation. Realistic use case: Make a request to the framework and go through all the parts of building the response, that is, make a request to runserver. However, do not use database queries. Regression tests: Go through trac and look for speed tests attached to tickets. This is probably a lot of work, but I would like to give it a try. Comments? - Anssi -- 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.