mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #21351 -- Replaced memoize with Python's lru_cache.
Replaced the custom, untested memoize with a similar decorator from Python's 3.2 stdlib. Although some minor performance degradation (see ticket), it is expected that in the long run lru_cache will outperform memoize once it is implemented in C. Thanks to EvilDMP for the report and Baptiste Mispelon for the idea of replacing memoize with lru_cache.
This commit is contained in:
committed by
Baptiste Mispelon
parent
6c5f5b9a41
commit
9b7455e918
@@ -479,6 +479,8 @@ these changes.
|
||||
* The ``zh-cn`` and ``zh-tw`` language codes will be removed and have been
|
||||
replaced by the ``zh-hans`` and ``zh-hant`` language code respectively.
|
||||
|
||||
* The internal ``django.utils.functional.memoize`` will be removed.
|
||||
|
||||
2.0
|
||||
---
|
||||
|
||||
|
||||
@@ -752,3 +752,13 @@ recently introduced language codes ``zh-hans`` and ``zh-hant`` respectively.
|
||||
If you use these language codes, you should rename the locale directories
|
||||
and update your settings to reflect these changes. The deprecated language
|
||||
codes will be removed in Django 1.9.
|
||||
|
||||
``django.utils.functional.memoize`` function
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The function ``memoize`` is deprecated and should be replaced by the
|
||||
``functools.lru_cache`` decorator (available from Python 3.2 onwards).
|
||||
|
||||
Django ships a backport of this decorator for older Python versions and it's
|
||||
available at ``django.utils.lru_cache.lru_cache``. The deprecated function will
|
||||
be removed in Django 1.9.
|
||||
|
||||
Reference in New Issue
Block a user