-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, Oct 06, 2005 at 12:58:58PM -0500, Michael Smith wrote: > This patch addresses a problem we were having with a cvs file that was > 300K lines long with a patch diff with 200K entries. The update past > the head (i.e. version 1.2 where 1.5 is head) entry took upwards of > 2-4 minutes per file because the complexity of the patch code was > O(m*n) where n=# of lines and m=# of updates. The patch provided here > changes this to O(n) complexity (which completes the same operation in > 4-6 seconds).
Cool! Does your patch also speed up branch updates? I'm now wondering if an O(1) algorithm is in sight. Not really O(1) but rather O(n) with a comparatively miniscule constant of proportionality. By keeping not the actual file contents in the ,v repository file, but only a reference to a cached copy. foo,v might point to foo-1.5,d, for example. And from there, maybe to foo-1.2.1.6 too, but this is getting into wishful thinking territory. > The changes I made from the pre-existing code were to: > 1. reverse the order of the fragments to a in-order instead of a > reverse order queue Does your patch maintain compatibility with old repositories? > As per the HACKING document, I am including the consent to use this > patch: > > "I grant permission to distribute this patch under the terms of the > GNU Public License" Do you have a copyright assignment filed? Apropos, since CVS seems to be "nongnu", do contributors have to do all that paperwork? > 7035d7034 > < struct deltafrag *dftail; [snip] Would you please give a unified or context diff? diff -u or diff -c works nicely; I don't know what the maintainers prefer - -- It is manipulative to not be manipulative. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Please fetch my new key 804177F8 from hkp://wwwkeys.eu.pgp.net/ Comment: Key D7CBA633 will soon expire, check its signature of 804177F8 now! iD8DBQFDRn/nwyMv24BBd/gRAqTIAJ9y017AHX4u7KIsW2oydhSOlJ8yXQCeL1r2 ziO5VZ1BcfdJquaxySVoXKg= =rKFe -----END PGP SIGNATURE----- _______________________________________________ Bug-cvs mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/bug-cvs
