[libvirt] [PATCH 3/3] scripts: check-aclrules: use regular expressions less often
Erik Skultety
eskultet at redhat.com
Fri Nov 22 11:15:13 UTC 2019
On Fri, Nov 22, 2019 at 11:37:31AM +0100, Ján Tomko wrote:
> On Fri, Nov 22, 2019 at 09:00:12AM +0100, Erik Skultety wrote:
> > On Wed, Nov 20, 2019 at 07:32:46PM +0100, Ján Tomko wrote:
> > > Use a simple
> > > if "substr" in line
> > > before running a regular expression, which saves time,
> > > especially if the regex has a capture group.
> > >
> > > This reduces runtime of the check by almost 78 % for me.
> > >
> > > Signed-off-by: Ján Tomko <jtomko at redhat.com>
> > > ---
> > > scripts/check-aclrules.py | 26 +++++++++++++++++++-------
> > > 1 file changed, 19 insertions(+), 7 deletions(-)
> > ...
> >
> > > # every func listed there, has an impl which calls
> > > # an ACL function
> > > if intable:
> > > - assign = re.search(r'''\.(\w+)\s*=\s*(\w+),?''', line)
> > > + assign = None
> > > + if '"' in line:
> >
> > ^This doesn't quite work, does it? I don't see any '"' in the driver API
> > mapping structures. The only reliable pattern I see we could use is ', /* '
> > but in order to use that, we'd have to unify a few source files, mainly
> > vz_driver.c, doing:
> >
> > git grep -Enpi ", \s+/\* " | grep driver.c
> >
> > should help identifying them.
>
> Oops, that should've been "=".
>
> I have no idea how I managed to type that equal sign sideways. =)
I thought so, but with the pattern I suggested, you can narrow down the final
set of lines even more, so might turn out to be even faster than a plain "="
Erik
More information about the libvir-list
mailing list