From aa0c868a39cfdb10eab2baf0e7aca7f07fb49a0f Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 20 Sep 2020 14:10:13 +0000 Subject: [PATCH] re: Avoid pre-compiling regular expressions Python has a cache for these Signed-off-by: Michael Tremer --- src/collecty/plugins/base.py | 2 +- src/collecty/plugins/contextswitches.py | 2 +- src/collecty/plugins/cpufreq.py | 4 +--- src/collecty/plugins/disk.py | 6 +++--- src/collecty/plugins/interrupts.py | 2 +- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/collecty/plugins/base.py b/src/collecty/plugins/base.py index c85e315..80647cd 100644 --- a/src/collecty/plugins/base.py +++ b/src/collecty/plugins/base.py @@ -35,7 +35,7 @@ from .. import util from ..constants import * from ..i18n import _ -DEF_MATCH = re.compile(r"C?DEF:([A-Za-z0-9_]+)=") +DEF_MATCH = r"C?DEF:([A-Za-z0-9_]+)=" class Environment(object): """ diff --git a/src/collecty/plugins/contextswitches.py b/src/collecty/plugins/contextswitches.py index c1299aa..a7f7840 100644 --- a/src/collecty/plugins/contextswitches.py +++ b/src/collecty/plugins/contextswitches.py @@ -67,7 +67,7 @@ class ContextSwitchesObject(base.Object): return "default" def collect(self): - expr = re.compile(r"^ctxt (\d+)$") + expr = r"^ctxt (\d+)$" with open("/proc/stat") as f: for line in f.readlines(): diff --git a/src/collecty/plugins/cpufreq.py b/src/collecty/plugins/cpufreq.py index e6b8647..c610891 100644 --- a/src/collecty/plugins/cpufreq.py +++ b/src/collecty/plugins/cpufreq.py @@ -126,14 +126,12 @@ class CPUFreqPlugin(base.Plugin): templates = [GraphTemplateCPUFreq] - cpuid_pattern = re.compile(r"cpu[0-9]+") - @property def objects(self): core_ids = [] for cpuid in os.listdir("/sys/devices/system/cpu"): - if not self.cpuid_pattern.match(cpuid): + if not re.match(r"cpu[0-9]+", cpuid): continue o = CPUFreqObject(self, cpuid) diff --git a/src/collecty/plugins/disk.py b/src/collecty/plugins/disk.py index fe5e0b9..8b66cee 100644 --- a/src/collecty/plugins/disk.py +++ b/src/collecty/plugins/disk.py @@ -292,8 +292,8 @@ class DiskPlugin(base.Plugin): ] block_device_patterns = [ - re.compile(r"(x?v|s)d[a-z]+"), - re.compile(r"mmcblk[0-9]+"), + r"(x?v|s)d[a-z]+", + r"mmcblk[0-9]+", ] @property @@ -315,7 +315,7 @@ class DiskPlugin(base.Plugin): def _valid_block_device_name(self, name): # Check if the given name matches any of the valid patterns. for pattern in self.block_device_patterns: - if pattern.match(name): + if re.match(pattern, name): return True return False diff --git a/src/collecty/plugins/interrupts.py b/src/collecty/plugins/interrupts.py index e17d576..668ac37 100644 --- a/src/collecty/plugins/interrupts.py +++ b/src/collecty/plugins/interrupts.py @@ -66,7 +66,7 @@ class SystemInterruptsObject(base.Object): return "default" def collect(self): - expr = re.compile(r"^intr (\d+)") + expr = r"^intr (\d+)" with open("/proc/stat") as f: for line in f.readlines(): -- 2.47.2