[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jgit-dev] Smudged Index Update Performance

Hey!

I noticed that since i last updated our JGit tree, all merge operations (merge, rebase, cherry-pick) are quite slow on our big repository. I asked the profiler (JProfiler) for his opinion, and he told me that DirCache.updateSmudgedEntries() eats up ??? seconds of the ??? seconds the cherry-pick took in whole (ofc it's slower because of the profiler, but the relation should be ok...). thats a whopping ?? percent!

Any suggestions? AFAICT the problem is that each BaseDirCacheEditor.commit() call will cause a write() on the cache, causing the updating to happen. It now depends (really?) on the number of merged files how often /all/ index entries are checked for smudging. Not so cool. I will have a look into making the update an explicit call that happens further up the call tree only once after finishing the merge, or something like that.

Regards,
Markus