FYI: New mercurial performance measurements (handling of large files)

Hi all! Some weeks ago we conducted performance measurements of Mercurial with large (> 1MB) files. The results were somewhat disappointing. Meanwhile Matt and others have improved on the crucial "bdiff"-operation. The resulting speed-up is significant (10x-300x). In fact now Mercurial is fast enough to survive a real-life test with one of our projects. We took 99 revisions of a project from our current SCM system and timed the duration of Mercurial's "commit"- and "push"-operations. The repository used as target for "push" resided on a server accessible via LAN. The work-area contained about 4000 files, where in each commit at least 12 files were larger than 1MB, the largest files occupying almost 70MB. The total size of all 99 work-areas was about 20GB. On the average 1000 files changed between two revisions. We show the detailed results in the attached graphics file. In particulkar, we would like to note: (1) The size of the repository is always small even for a project with a large number of "binary" files after a high number of commits. We found a compression ratio (total data size over repository size) of about 14. (2) The "commit"-duration never exceeded 4 minutes compared to several hours before the performance patches, despite the 12 large files. (3) The "push"-duration always was below 8 minutes again compared to several hours (or more like: "overnight") before the performance patches. Most importantly, neither the "commit"-duration, nor the "push"-duration show an increase over the live of the project. They both stay in a band between 20-230 seconds for "commit" and 40-460 seconds for "push". This means Mercurial users won't get punished by maintaining a big, old repository with a huge number of commited versions. To summarize: Mercurial is not only capable of working with large projects containing large files, but it handles them surprisingly fast - a real joy to use. Best, Chris -- Dr. Christoph L. Spiel BMW Forschungs- und Innovationszentrum, EA-410 Lauchstaedterstrasse 5, 80995 Muenchen -------------- next part -------------- A non-text attachment was scrubbed... Name: hg-0.9.5pre1-preformance.png Type: image/png Size: 13596 bytes Desc: hg-0.9.5pre1-preformance.png Url : http://selenic.com/pipermail/mercurial/attachments/20071019/3f58c002/attachment.png