mirror of
https://github.com/django/django.git
synced 2025-01-12 19:37:06 +00:00
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. |
||
---|---|---|
.. | ||
__init__.py | ||
models.py | ||
tests.py |