mirror of
https://github.com/Hopiu/django.git
synced 2026-03-27 19:30:24 +00:00
The original problem was that queryset cloning was really expensive when filtering with F() clauses. The __deepcopy__ went too deep copying _meta attributes of the models used. To fix this the use of __deepcopy__ in qs cloning was removed. This commit results in some speed improvements across the djangobench benchmark suite. Most query_* tests are 20-30% faster, save() is 50% faster and finally complex filtering situations can see 2x to order of magnitude improvments. Thanks to Suor, Alex and lrekucki for valuable feedback. |
||
|---|---|---|
| .. | ||
| modeltests | ||
| regressiontests | ||
| templates | ||
| .coveragerc | ||
| runtests.py | ||
| test_sqlite.py | ||
| urls.py | ||