mirror of
https://github.com/python/cpython.git
synced 2025-11-25 04:34:37 +00:00
bpo-42799: fnmatch module: bump up size of lru_cache for patterns (GH-27084)
This commit is contained in:
parent
3527569f1c
commit
b39eea06d1
3 changed files with 8 additions and 1 deletions
|
|
@ -46,6 +46,9 @@ module. See module :mod:`glob` for pathname expansion (:mod:`glob` uses
|
|||
a period are not special for this module, and are matched by the ``*`` and ``?``
|
||||
patterns.
|
||||
|
||||
Also note that :func:`functools.lru_cache` with the *maxsize* of 32768 is used to
|
||||
cache the compiled regex patterns in the following functions: :func:`fnmatch`,
|
||||
:func:`fnmatchcase`, :func:`filter`.
|
||||
|
||||
.. function:: fnmatch(filename, pattern)
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ def fnmatch(name, pat):
|
|||
pat = os.path.normcase(pat)
|
||||
return fnmatchcase(name, pat)
|
||||
|
||||
@functools.lru_cache(maxsize=256, typed=True)
|
||||
@functools.lru_cache(maxsize=32768, typed=True)
|
||||
def _compile_pattern(pat):
|
||||
if isinstance(pat, bytes):
|
||||
pat_str = str(pat, 'ISO-8859-1')
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
In :mod:`fnmatch`, the cache size for compiled regex patterns
|
||||
(:func:`functools.lru_cache`) was bumped up from 256 to 32768, affecting
|
||||
functions: :func:`fnmatch.fnmatch`, :func:`fnmatch.fnmatchcase`,
|
||||
:func:`fnmatch.filter`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue