summaryrefslogtreecommitdiff
path: root/perl/Git/SVN/Fetcher.pm
diff options
context:
space:
mode:
authorLibravatar Eric Wong <normalperson@yhbt.net>2015-01-15 08:54:22 +0000
committerLibravatar Eric Wong <normalperson@yhbt.net>2015-02-26 20:19:21 +0000
commit47092c10671da906ae626634dc83beb29ce76a9d (patch)
tree27980d2dafd0c5e3d7d14c7bd419e8cb8c099ef7 /perl/Git/SVN/Fetcher.pm
parentPost 2.3 cyle (batch #5) (diff)
downloadtgif-47092c10671da906ae626634dc83beb29ce76a9d.tar.xz
git-svn: lazy load some modules
We can delay loading some modules until we need them for uncommon code paths. For example, persistent memoization is not often needed, so we can avoid loading the modules for it until we encounter svn::mergeinfo during fetch. This gives a tiny reduction in syscalls (from 15641 to 15305) when running "git svn info" and counting via "strace -fc". Further, more invasive work will be needed to noticeably improve performance. Signed-off-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'perl/Git/SVN/Fetcher.pm')
-rw-r--r--perl/Git/SVN/Fetcher.pm3
1 files changed, 1 insertions, 2 deletions
diff --git a/perl/Git/SVN/Fetcher.pm b/perl/Git/SVN/Fetcher.pm
index 10edb27732..6b9c6e0138 100644
--- a/perl/Git/SVN/Fetcher.pm
+++ b/perl/Git/SVN/Fetcher.pm
@@ -7,7 +7,6 @@ use warnings;
use SVN::Delta;
use Carp qw/croak/;
use File::Basename qw/dirname/;
-use IO::File qw//;
use Git qw/command command_oneline command_noisy command_output_pipe
command_input_pipe command_close_pipe
command_bidi_pipe command_close_bidi_pipe/;
@@ -600,7 +599,7 @@ developing git-svn.
=head1 DEPENDENCIES
L<SVN::Delta> from the Subversion perl bindings,
-the core L<Carp>, L<File::Basename>, and L<IO::File> modules,
+the core L<Carp> and L<File::Basename> modules,
and git's L<Git> helper module.
C<Git::SVN::Fetcher> has not been tested using callers other than