git blame performance
- From
- Jan Smets <jan.smets@alcatel-lucent.com>
- Date
- Nov 6, 2015, 13:37 UTC
- Message-ID
- <563CAD30.6040608@alcatel-lucent.com>
Hi
I have recently migrated a fairly large project from CVS to Git. One of the issues we're having is the blame/annotate performance.
The repository contains +650k commits total, of which ~300k are on master. (raw size = ~8GB)
Running blame on one of the oldest files takes over 30 seconds. This is on a fairly beefy (server) machine with lots of ram and the repository on a ramdisk. Running git 2.5.2
cvs annotate of the same file (over the network) is ready in 0.8 seconds. blame/annotate is a frequently used operation, ranging between 5 to 20 usages a day per developer.
I have two questions
1) Is there a way to speed this up (in git)? eg: can it run multi threaded? build pre-cached blame views? 2) I was thinking to work around the issue and use gitweb blame_incremental and pre-populate the cache.
If you can think of any other (short term) solutions I would really like to hear them.
Thank you
- Jan