[patch] fix bug 65714 bzr 0.11 takes an inordinate amount of time to process a commit

Aaron Bentley aaron.bentley at utoronto.ca
Sun Oct 29 17:13:23 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Cheuksan Edward Wang wrote:
> 
> Replace python's difflib by patiencediff because the worst case
> performance is cubic for difflib (get_matching_blocks) and people
> committing large data
> files are often hurt by this. The worst case performance of patience is
> quadratic. Fix bug 65714.

+1 if there's no significant performance degredation.

Note: instead of "import bzrlib.foo", we usually use "from bzrlib import
foo".  It keeps the names shorter.

> If there is an easy way to run benchmarks, can someone tell me how to
> run them? I want to see the change in commit time and size of the knits.

bzr selftest --benchmark

> Neither difflib nor patience give the minimal diffs. If this is not an
> improvement in time or space, I can try several other algorithms.

Minimal isn't really the goal.  The goal is to provide the best
description of the changes for people to read.  This matters even for
knits, because they are used to produce annotation.

That said, a superior algorithm is always welcome.

Aaron

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFROEz0F+nu1YWqI0RApi6AJ9XbDQ1ZSnP4ddqjYRApxxy24w7dwCfaC7s
Rqajt420E7Pb9HB31cNDYpY=
=Vzx4
-----END PGP SIGNATURE-----




More information about the bazaar mailing list