Em Thu, 03 Jul 2025 17:47:13 -0600 Jonathan Corbet <corbet@xxxxxxx> escreveu: > Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> writes: > > > Em Thu, 3 Jul 2025 12:43:58 -0600 > > Jonathan Corbet <corbet@xxxxxxx> escreveu: > > > >> Rework _add_regex() to avoid doing the lookup twice for the (hopefully > >> common) cache-hit case. > >> > >> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> > >> --- > >> scripts/lib/kdoc/kdoc_re.py | 7 ++----- > >> 1 file changed, 2 insertions(+), 5 deletions(-) > >> > >> diff --git a/scripts/lib/kdoc/kdoc_re.py b/scripts/lib/kdoc/kdoc_re.py > >> index e81695b273bf..612223e1e723 100644 > >> --- a/scripts/lib/kdoc/kdoc_re.py > >> +++ b/scripts/lib/kdoc/kdoc_re.py > >> @@ -29,12 +29,9 @@ class KernRe: > >> """ > >> Adds a new regex or re-use it from the cache. > >> """ > >> - > >> - if string in re_cache: > >> - self.regex = re_cache[string] > >> - else: > >> + self.regex = re_cache.get(string, None) > > > > With get, None is default... > > > >> + if not self.regex: > >> self.regex = re.compile(string, flags=flags) > > > > ... yet, as you're using get, better to code it as: > > > > self.regex = re_cache.get(string, re.compile(string, flags=flags)) > > ...but that will recompile the regex each time, defeating the purpose of > the cache, no? No. It should do exactly like the previous code: - if re_cache[string] exists, it returns it. - Otherwise, it returns re.compile(string, flags=flags). https://www.w3schools.com/python/ref_dictionary_get.asp Thanks, Mauro