Sun 17 Sep 2006 05:31:10 PM UTC, comment #4:
OK, the results are in. I used the same machine and same databases as in my previous testing, but this time the laptop was running on AC power, and so the processor was much faster. As a consequence, the difference between 0.24 and 0.26 is much smaller too.
Conclusions:
- the memory leak was indeed introduced in 0.25 and had moderate impact on performance
- the leak had much more impact on performance starting with 0.26
- versions after 0.26 do not show much difference
- 0.26 and later use up MUCH more memory than 0.25 and earlier, even after the leak is plugged.
- most importantly: fixing the leak does not only resolve the performance problem completely, but also allows 0.26 and later to outperform 0.25!
I'd like to rave a bit about performance. Monotone 0.24 was already the fastest version control system (as far as checkout was concerned) that I tried[1]; it was better than CVS, Meta-CVS, Mercurial, and Bazaar-NG. I think it is mostly due to compressing the database and thus reducing disk I/O when reading from it. With the leak fixed, it is even better.
[1] http://www.ada-france.org/debian/distributed-version-control-systems.html
To tone that down a bit: with the leak fixed, the VSIZE went from 37 Mb in <=0.25 to 74 Mb in >=0.26 (yes, that's +100%). This might affect people with little memory, or those who, like me, tend to constantly have something big compiling in the background :/
Overall, thanks a bunch for great software. I use monotone because I'm an Ada guy working in safety-critical avionics, and I love your attitude and programming style.
Measurements attached for the fun of it. Bug can be closed (canI do that myself? it seems not).
--
Ludovic Brenta, happy user.
|