git-svn: memoize _rev_list and rebuild
commitab0bcec9873f1fcef6c4b8825cc9e762c636ca9e
authorlin zuojian <manjian2006@gmail.com>
Thu, 23 Jan 2014 02:15:19 +0000 (23 10:15 +0800)
committerEric Wong <normalperson@yhbt.net>
Thu, 23 Jan 2014 02:54:26 +0000 (23 02:54 +0000)
tree28a78a98db9e1b8fabe193072cfaec19cb67a529
parentd9bb4be53bc5185244b4be9860562a012803bacb
git-svn: memoize _rev_list and rebuild

According to profile data, _rev_list and rebuild consume a large
portion of time.  Memoize the results of _rev_list and memoize
rebuild internals to avoid subprocess invocation.

When importing 15152 revisions on a LAN, time improved from 10
hours to 3-4 hours.

Signed-off-by: lin zuojian <manjian2006@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
perl/Git/SVN.pm