about summary refs log tree commit homepage
path: root/lib/PublicInbox/Config.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2020-12-23 08:38:51 +0000
committerEric Wong <e@80x24.org>2020-12-23 23:46:43 +0000
commit80424a6a72dbe2b1ea7ba9bfba8f273e4da385a7 (patch)
tree674ed4cba02dfe3bc9965b9f6f7b58cc9e1ee68e /lib/PublicInbox/Config.pm
parent83a03a80c7392148fa65143f60fb16d15cf19006 (diff)
downloadpublic-inbox-80424a6a72dbe2b1ea7ba9bfba8f273e4da385a7.tar.gz
It appears the Perl split() operator is not optimized for fixed
strings at all.  With this change, PublicInbox::Config->new (w/o
->fill_all) time is reduced from 1.81s to 1.22s on a config file
with 50K inboxes.
Diffstat (limited to 'lib/PublicInbox/Config.pm')
-rw-r--r--lib/PublicInbox/Config.pm2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm
index cd8957a1..4d143c6e 100644
--- a/lib/PublicInbox/Config.pm
+++ b/lib/PublicInbox/Config.pm
@@ -165,7 +165,7 @@ sub git_config_dump {
         return {} unless -e $file;
         my $cmd = [ qw(git config -z -l --includes), "--file=$file" ];
         my $fh = popen_rd($cmd);
-        my $rv = config_fh_parse($fh, "\0", "\n");
+        my $rv = config_fh_parse($fh, "\0", qr/\n/);
         close $fh or die "failed to close (@$cmd) pipe: $?";
         $rv;
 }