hvsupport: skip non-matching lines early

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.
This commit is contained in:
Ján Tomko 2016-06-28 15:23:58 +02:00
parent 6dc1f10347
commit f1bbf57cad

View File

@ -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;