* [PATCH] lib/oe/package_manager: Performance tweak in regex usage
@ 2015-02-20 17:41 Richard Purdie
0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2015-02-20 17:41 UTC (permalink / raw)
To: openembedded-core
Profiling a core-image-sato-sdk rootfs, we're spending over 40s
compiling the same regex over and over again, roughly around 5 million
times.
This is suboptimal, fix for a 40s improvement on a 18.5minute task execution
time.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index f801333..69bef1d 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -679,10 +679,10 @@ class RpmPM(PackageManager):
def _search_pkg_name_in_feeds(self, pkg, feed_archs):
for arch in feed_archs:
arch = arch.replace('-', '_')
+ regex_match = re.compile(r"^%s-[^-]*-[^-]*@%s$" % \
+ (re.escape(pkg), re.escape(arch)))
for p in self.fullpkglist:
- regex_match = r"^%s-[^-]*-[^-]*@%s$" % \
- (re.escape(pkg), re.escape(arch))
- if re.match(regex_match, p) is not None:
+ if regex_match.match(p) is not None:
# First found is best match
# bb.note('%s -> %s' % (pkg, pkg + '@' + arch))
return pkg + '@' + arch
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-02-20 17:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-20 17:41 [PATCH] lib/oe/package_manager: Performance tweak in regex usage Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.