This week, I focused mostly on improving the performance of patch-index. I am using the darcs screened repository as a benchmark to test the performance improvements.
The results are:
1) patch-index-changes on GNUmakefile took 0.43sec as compared to last week's 1sec
2) patch-index-annotate on GNUmakefile took 0.86 sec as compared to last week's 2sec
These improvements are due to two re implementations.
First, I have re implemented the code that checks for correlation between patch index cache and the patches of the repository. This code is run every time patch index is loaded, and used to take 0.3 sec to complete. It is now reduced to around 0.03 sec.
Second(and more significant), I have re implemented the code that identifies the patches that correspond to a particular file. The new version is twice as fast as the old version.
I have also added annotate on directories. Try it by darcs show patch-index-annotate DIR/.
I am keeping the patch index repository up to date with screened, for a painless integration in the later stages.
The repository here.
The results are:
1) patch-index-changes on GNUmakefile took 0.43sec as compared to last week's 1sec
2) patch-index-annotate on GNUmakefile took 0.86 sec as compared to last week's 2sec
These improvements are due to two re implementations.
First, I have re implemented the code that checks for correlation between patch index cache and the patches of the repository. This code is run every time patch index is loaded, and used to take 0.3 sec to complete. It is now reduced to around 0.03 sec.
Second(and more significant), I have re implemented the code that identifies the patches that correspond to a particular file. The new version is twice as fast as the old version.
I have also added annotate on directories. Try it by darcs show patch-index-annotate DIR/.
I am keeping the patch index repository up to date with screened, for a painless integration in the later stages.
The repository here.
No comments:
Post a Comment