]> xenbits.xensource.com Git - libvirt.git/commitdiff
hvsupport: skip non-matching lines early
authorJán Tomko <jtomko@redhat.com>
Tue, 28 Jun 2016 13:23:58 +0000 (15:23 +0200)
committerJán Tomko <jtomko@redhat.com>
Tue, 19 Jul 2016 16:50:29 +0000 (18:50 +0200)
Most of the lines we look at are not going to match one of the
driver types contained in $groups_regex.

Move on to the next line if it does not contain any of them early.
This speeds up the script execution by 50%, since this simple regex
does not have any capture groups.

docs/hvsupport.pl

index fca83ca89ae78943dc1cd625d558f50c1139364e..2ead2cf77c6213998016ad0b5c4d1371df948c58 100755 (executable)
@@ -212,6 +212,9 @@ foreach my $src (@srcs) {
     my $impl;
     while (defined($line = <FILE>)) {
         if (!$ingrp) {
+            # skip non-matching lines early to save time
+            next if not $line =~ /$groups_regex/;
+
             if ($line =~ /^\s*(?:static\s+)?($groups_regex)\s+(\w+)\s*=\s*{/ ||
                 $line =~ /^\s*(?:static\s+)?($groups_regex)\s+NAME\(\w+\)\s*=\s*{/) {
                 $ingrp = $1;