Serhiy Storchaka
697a526fa1
Issue #23132 : Improve performance and introspection support of comparison
...
methods created by functool.total_ordering.
2015-01-01 15:23:12 +02:00
Raymond Hettinger
92c7b90148
merge
2014-08-12 12:45:28 -07:00
Raymond Hettinger
4d58897fdb
Issue 22184: Early detection and reporting of missing lru_cache parameters
2014-08-12 12:44:52 -07:00
Serhiy Storchaka
521e5860a5
Issue #22032 : __qualname__ instead of __name__ is now always used to format
...
fully qualified class names of Python implemented classes.
2014-07-22 15:00:37 +03:00
Victor Stinner
7fa767e517
Issue #20976 : pyflakes: Remove unused imports
2014-03-20 09:16:38 +01:00
Yury Selivanov
da5fe4f2da
inspect.signature: Add support for 'functools.partialmethod' #20223
2014-01-27 17:28:37 -05:00
Nick Coghlan
3daaf5f89d
Fix functools.partialmethod docs and __all__
2013-11-04 23:32:16 +10:00
Nick Coghlan
f4cb48a72b
Issue #4331 : Added functools.partialmethod
...
Initial patch by Alon Horev
2013-11-03 16:41:46 +10:00
Nick Coghlan
f05d981f58
Close #10042 : functools.total_ordering now handles NotImplemented
...
(Patch by Katie Miller)
2013-10-02 00:02:03 +10:00
Nick Coghlan
24c05bc154
Close issue 17482: don't overwrite __wrapped__
2013-07-15 21:13:08 +10:00
Brett Cannon
cd171c8e92
Issue #18200 : Back out usage of ModuleNotFoundError (8d28d44f3a9a)
2013-07-04 17:43:24 -04:00
Łukasz Langa
3720c77e30
Issue #18244 : Adopt C3-based linearization in functools.singledispatch for improved ABC support
2013-07-01 16:00:38 +02:00
Brett Cannon
0a140668fa
Issue #18200 : Update the stdlib (except tests) to use
...
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Łukasz Langa
6f69251980
Add reference implementation for PEP 443
...
PEP accepted: http://mail.python.org/pipermail/python-dev/2013-June/126734.html
2013-06-05 12:20:24 +02:00
Raymond Hettinger
36fe22806c
merge
2013-03-08 23:04:47 -08:00
Raymond Hettinger
d8d6010df3
Sync-up with 3.4 to make maintenance easier.
2013-03-08 23:01:07 -08:00
Raymond Hettinger
a28c55a2e4
merge
2013-03-08 21:14:46 -07:00
Raymond Hettinger
f96b2b03bb
Improve comments and variable names.
2013-03-08 21:11:55 -07:00
Raymond Hettinger
bb5f48008d
Merge
2013-03-04 04:20:46 -05:00
Raymond Hettinger
352cc8cfc3
Another nit.
2013-03-04 04:19:09 -05:00
Raymond Hettinger
32e2ff5dc5
merge
2013-03-04 03:54:45 -05:00
Raymond Hettinger
f2c17a9276
Fix other re-entrancy nits for the lru_cache.
...
Keep references for oldkey and oldvalue so they can't
trigger a __del__ method to reenter our thread.
Move the cache[key]=link step to the end, after the link
data is in a consistent state.
Under exotic circumstances, the cache[key]=link step could
trigger reentrancy (i.e. the key would have to have a hash
exactly equal to that for another key in the cache and the
key would need a __eq__ method that makes a reentrant call
our cached function).
2013-03-04 03:34:09 -05:00
Raymond Hettinger
794568f0ad
Merge
2013-03-01 23:21:00 -08:00
Raymond Hettinger
409f663091
Remove dependency on dummy_threading (to solve a bootstrap problem).
2013-03-01 23:20:13 -08:00
Raymond Hettinger
dacb6858e8
Merge
2013-03-01 03:48:30 -08:00
Raymond Hettinger
fd54117a68
Don't deadlock on a reentrant call.
2013-03-01 03:47:57 -08:00
Raymond Hettinger
832eddeafb
Eliminate unnecessary variable.
2013-02-17 00:08:45 -08:00
Antoine Pitrou
b5b3714168
Issue #12428 : Add a pure Python implementation of functools.partial().
...
Patch by Brian Thorne.
2012-11-13 21:35:40 +01:00
Raymond Hettinger
0c9050c25d
Separate key creation logic from the sequence class that memoizes its hash value.
2012-06-04 00:21:14 -07:00
Raymond Hettinger
010ce3283a
Minor change to default lru size. Set default to a power of two.
2012-05-19 21:20:48 -07:00
Raymond Hettinger
9acbb6074f
Move make_key() out of the decorator body. Make keys that only need to be hashed once.
2012-04-30 22:32:16 -07:00
Raymond Hettinger
018b4fbb9b
Use a flag to indicate when the circular queue is fully populated and stable.
2012-04-30 20:48:55 -07:00
Raymond Hettinger
34d94a2101
Handle a possible race condition
2012-04-30 14:14:28 -07:00
Raymond Hettinger
b6b98c093e
Track the cache size directly.
2012-04-29 18:09:02 -07:00
Raymond Hettinger
9f0ab9f564
Factor out shared variables.
2012-04-29 14:55:27 -07:00
Raymond Hettinger
678e7f3be6
Flatten the lru cache keyword args tuple for better memory utilization.
2012-04-29 12:28:02 -07:00
Raymond Hettinger
c6897854f8
Fix-up a comment
2012-03-31 02:19:06 -07:00
Raymond Hettinger
7f7a5a7b87
Fix-up comments and add a sentinel variable for clarity.
2012-03-30 21:50:40 -07:00
Raymond Hettinger
41eb79a016
No need to create and destroy links when updating a fixed-sized circular queue.
2012-03-30 19:15:18 -07:00
Raymond Hettinger
1ff50df8bc
Minor cleanup: add whitespace, add comments, bring function attribute updates together.
2012-03-30 13:15:48 -07:00
Raymond Hettinger
7dabfede34
Fix whitespace
2012-03-17 15:11:09 -07:00
Raymond Hettinger
7e0c581c49
Low overhead path for maxsize==0
2012-03-17 15:10:24 -07:00
Raymond Hettinger
bc8e81dcc3
Section-off the source for better readability.
2012-03-17 00:24:09 -07:00
Raymond Hettinger
dce583e0bd
Minor beautification.
2012-03-16 22:12:20 -07:00
Raymond Hettinger
4f5139ba20
Root variable is not changed.
2012-03-16 17:08:37 -07:00
Raymond Hettinger
202d1ad3f6
Fix whitespace
2012-03-16 17:05:17 -07:00
Raymond Hettinger
d37fb55910
Unique sentinel value for cache.get()
2012-03-16 17:04:11 -07:00
Raymond Hettinger
6e8c817687
Refactor calculation of the cache key. Minor code cleanups.
2012-03-16 16:53:05 -07:00
Benjamin Peterson
29a837d857
merge heads
2012-03-16 18:22:53 -05:00
Benjamin Peterson
954cf578c7
clear the root with the cache
2012-03-16 18:22:26 -05:00
Raymond Hettinger
d656958915
Minor code cleanup.
2012-03-16 11:48:12 -07:00
Raymond Hettinger
57b2959d26
Eliminate duplicate link lookup. Minor cleanup.
2012-03-16 11:21:39 -07:00
Raymond Hettinger
ec0e91045e
Improve the memory utilization (and speed) of functools.lru_cache().
2012-03-16 01:16:31 -07:00
Meador Inge
ff7f64ca0e
Issue #13544 : Add __qualname__ to functools.WRAPPER_ASSIGNMENTS.
...
Patch by Filip Gruszczyński.
2011-12-11 22:37:31 -06:00
Raymond Hettinger
cd9fdfd652
Issue 13227: Option to make the lru_cache() type specific (suggested by Andrew Koenig).
2011-10-20 08:57:45 -07:00
Raymond Hettinger
d8886fc831
Merge
2011-10-16 00:00:51 -07:00
Raymond Hettinger
4b779b3785
Issue 13177: Make tracebacks more readable by avoiding chained exceptions in the lru_cache.
2011-10-15 23:50:42 -07:00
Raymond Hettinger
8cd2e5f751
Sync-up minor code edits with the default branch.
2011-05-05 14:15:12 -07:00
Raymond Hettinger
e7a2430dde
Fix __hash__ in functools.cmp_to_key() to work with collections.Hashable.
2011-05-03 11:16:36 -07:00
Raymond Hettinger
003be52932
Fix __hash__ in functools.cmp_to_key() to work with collections.Hashable.
2011-05-03 11:01:32 -07:00
Raymond Hettinger
7ab9e22e34
Issue #11707 : Fast C version of functools.cmp_to_key()
2011-04-05 02:33:54 -07:00
Raymond Hettinger
0a4edd5435
Issue #11628 : cmp_to_key should use __slots__.
2011-03-21 17:54:04 -07:00
Raymond Hettinger
a0d1d96771
Issue #11628 : cmp_to_key should use __slots__.
2011-03-21 17:50:28 -07:00
Raymond Hettinger
7e4c168385
Minor optimization -- factor a constant expression out of the inner-loop.
2011-03-18 15:09:10 -07:00
Raymond Hettinger
524359f9f7
Add comment.
2011-01-11 22:08:55 +00:00
Raymond Hettinger
23f9fc3448
Issue #10042 : Fixed the total_ordering decorator to handle cross-type
...
comparisons that could lead to infinite recursion.
2011-01-08 07:01:56 +00:00
Raymond Hettinger
c79fb0e52d
Issue 10593: Adopt Nick's suggestion for an lru_cache with maxsize=None.
2010-12-01 03:45:41 +00:00
Raymond Hettinger
00f2f97dbd
Doc and docstring nits.
2010-12-01 00:47:56 +00:00
Raymond Hettinger
7496b4171e
Add example, tighten text, and minor clean-ups.
2010-11-30 19:15:45 +00:00
Raymond Hettinger
5e20bab422
Neaten-up a bit.
2010-11-30 07:13:04 +00:00
Nick Coghlan
234515afe5
Issue 10586: change the new functools.lru_cache implementation to expose the maximum and current cache sizes through the public statistics API. This API is now a single function that returns a named tuple.
2010-11-30 06:19:46 +00:00
Raymond Hettinger
5fa40c01ad
Clean-up docstring, comments, and whitespace.
2010-11-25 08:11:57 +00:00
Raymond Hettinger
3255c63e28
Improve comment
2010-09-16 00:31:21 +00:00
Raymond Hettinger
1006bd459b
Future proof total_ordering against changes in methods defined on object.
2010-09-14 22:55:13 +00:00
Raymond Hettinger
bd88802c1f
Revert r84700 which had an unfortunate performance cost.
2010-09-11 08:07:42 +00:00
Raymond Hettinger
22b46e0ba9
Separate positional arguments from localized globals.
2010-09-11 00:05:44 +00:00
Benjamin Peterson
1017ae5253
add reduce and partial to __all__
2010-09-10 23:35:52 +00:00
Raymond Hettinger
f45abc97bf
Add method to OrderedDict for repositioning keys to the ends.
2010-09-06 21:26:09 +00:00
Raymond Hettinger
4c7c9af542
Clean-up functools.total_ordering().
2010-09-05 05:57:35 +00:00
Raymond Hettinger
02566ec89f
Adopt more descriptive attribute names as suggested on python-dev.
2010-09-04 22:46:06 +00:00
Raymond Hettinger
af1e140334
Readability nit.
2010-09-02 19:58:35 +00:00
Raymond Hettinger
7babc1b6a5
Better method name. Tighten inner-loop with bound methods.
2010-09-02 19:56:28 +00:00
Raymond Hettinger
38d17e3df0
Speed-up cache updates
2010-09-02 09:44:28 +00:00
Benjamin Peterson
16925e8539
remove parens
2010-08-24 21:30:14 +00:00
Benjamin Peterson
9c2930e4be
run total_ordering() tests, and fix the function (default comparisons shouldn't be considered)
2010-08-23 17:40:33 +00:00
Nick Coghlan
9887683f74
Document and test the resolution of issue 3445 (tolerate missing attributes in functools.update_wrapper, previously implemented as a side effect of the __annotations__ copying patch) and implement issue 9567 (add a __wrapped__ attribute when using update_wrapper)
2010-08-17 06:17:18 +00:00
Raymond Hettinger
0b5669c0f5
Fix __all__.
2010-08-15 07:41:40 +00:00
Raymond Hettinger
bc653d1abe
Remove unused imports
2010-08-15 03:35:24 +00:00
Raymond Hettinger
f309828175
Remove the lfu_cache. Add more tests.
2010-08-15 03:30:45 +00:00
Raymond Hettinger
0f56e90f05
Support cache sizes.
2010-08-14 23:52:08 +00:00
Raymond Hettinger
5202fadb2c
Localize one more builtin lookup.
2010-08-14 22:29:52 +00:00
Raymond Hettinger
cbe8813f18
Add locks to make the caches well behaved in multi-threaded code.
...
Store builtins in cell variables to speed-up the common path,
reducing the chance of a lock needing to block at all.
2010-08-14 22:22:10 +00:00
Benjamin Peterson
1f594ad424
use same quoting as the rest of the file
2010-08-08 13:17:07 +00:00
Antoine Pitrou
560f7647ce
Issue #8814 : function annotations (the `__annotations__` attribute)
...
are now included in the set of attributes copied by default by
functools.wraps and functools.update_wrapper. Patch by Terrence Cole.
2010-08-04 18:28:02 +00:00
Georg Brandl
2e7346acc9
Re-commit r83327 now that the release is done.
2010-07-31 18:09:23 +00:00
Georg Brandl
014e0ca58e
Revert r83327. This will have to wait until after the alpha1 release.
2010-07-31 10:16:21 +00:00
Raymond Hettinger
9e46ef819c
Add functools.lfu_cache() and functools.lru_cache().
2010-07-31 10:11:39 +00:00
Georg Brandl
e5a2673f9a
Merged revisions 80068 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r80068 | georg.brandl | 2010-04-14 10:56:01 +0200 (Mi, 14 Apr 2010) | 1 line
#5341 : fix typo and adapt docstring syntax.
........
2010-05-19 21:06:36 +00:00
Raymond Hettinger
56de7e2a36
Issue 8361: Remove assert from functools.total_ordering
2010-04-10 16:59:03 +00:00
Raymond Hettinger
c50846aaef
Forward port total_ordering() and cmp_to_key().
2010-04-05 18:56:31 +00:00