slight optimisation to file_pruned
authorJoey Hess <joey@gnu.kitenet.net>
Sun, 14 Mar 2010 19:21:42 +0000 (15:21 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Sun, 14 Mar 2010 19:21:42 +0000 (15:21 -0400)
Precompile the regexp, rather than rebuilding on every call.

IkiWiki.pm

index ee94ce659cbb5fdaffdf21da94fb50ae4e85c89f..1c2ddbd9136f11d9d19fa316320b9b0faa26ff42 100644 (file)
@@ -1819,6 +1819,7 @@ sub deptype (@) {
        return $deptype;
 }
 
+my $file_prune_regexp;
 sub file_pruned ($;$) {
        my $file=shift;
        if (@_) {
@@ -1833,8 +1834,11 @@ sub file_pruned ($;$) {
                return 0 if $file =~ m/$config{include}/;
        }
 
-       my $regexp='('.join('|', @{$config{wiki_file_prune_regexps}}).')';
-       return $file =~ m/$regexp/;
+       if (! defined $file_prune_regexp) {
+               $file_prune_regexp='('.join('|', @{$config{wiki_file_prune_regexps}}).')';
+               $file_prune_regexp=qr/$file_prune_regexp/;
+       }
+       return $file =~ m/$file_prune_regexp/;
 }
 
 sub define_gettext () {