23ca3a0194
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 |