git svn: delay importing SVN::Base until it is needed
authorjosh robb <josh_robb@fastmail.fm>
Wed, 24 Feb 2010 03:13:50 +0000 (16:13 +1300)
committerEric Wong <normalperson@yhbt.net>
Fri, 26 Feb 2010 09:33:56 +0000 (01:33 -0800)
commitd32fad2b89c81ca29128722e0e2f5985426e5e7a
treebf3ee6a99133b5f4598009955d9a4ebef8dae042
parent6a2009e7f34148a737d8832887dcd491905017be
git svn: delay importing SVN::Base until it is needed

Importing functions from a .dll into Git for Windows' perl is pretty slow,
so let's avoid importing if it is not necessary.

This seems particularly slow in virtualized enviroments. Before this
change (on my machine):

$ time perl /libexec/git-core/git-svn rebase
Current branch master is up to date.

real 2m56.750s
user 0m3.129s
sys 2m39.232s

Afterwards:

$ time perl /libexec/git-core/git-svn rebase
Current branch master is up to date.

real 0m33.407s
user 0m1.409s
sys 0m23.054s

git svn rebase -n goes from 3m7.046s to 0m10.312s.

Signed-off-by: Josh Robb <josh_robb@fastmail.fm>
Acked-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl