groupcompress extraction 10x faster

John Arbash Meinel john at arbash-meinel.com
Thu Feb 19 21:56:10 GMT 2009


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

John Arbash Meinel wrote:
> John Arbash Meinel wrote:
> ...
> 

...

> 5) Maybe the insertion of lines could be triggered if there is a series
> of copy instructions with no insertions, as that could be indicative of
> a code block that is going to be repeated often in the future.

It seems that '\n' lines are a point of synchronization/confusion for
the system (at least for the math.h file that was versioned.)

For one instance, I found this set of 'copy' instructions. For help in
understanding:
  "(X, 3, 1)" is an insert of a single newline
  "(X, 632, 3)" is an insert of 3 newlines
  "(X, 632, 2)" is an insert of 2 newlines

The specific point here is that there are *no* unique insertions in
this. It is only a bunch of 'copy' instructions with no inserts. Some of
the other commonly mentioned lines are things like "{\n", "}\n" and
" */\n", all of which generally get expanded back into an insert
instruction.

This is 86 copy instructions for 219 lines.

[(0, 695, 1),
 (1, 632, 2),
 (3, 700, 11),
 (14, 599, 1),
 (15, 714, 2),
 (17, 614, 1),
 (18, 719, 6),
 (24, 601, 1),
 (25, 3, 1),
 (26, 730, 3),
 (29, 3, 1),
 (30, 736, 4),
 (34, 3, 1),
 (35, 743, 2),
 (37, 3, 1),
 (38, 748, 1),
 (39, 3, 1),
 (40, 752, 1),
 (41, 3, 1),
 (42, 756, 2),
 (44, 626, 1),
 (45, 632, 2),
 (47, 763, 7),
 (54, 3, 1),
 (55, 773, 3),
 (58, 3, 1),
 (59, 779, 6),
 (65, 3, 1),
 (66, 788, 2),
 (68, 3, 1),
 (69, 793, 4),
 (73, 3, 1),
 (74, 800, 3),
 (77, 626, 1),
 (78, 632, 2),
 (80, 808, 12),
 (92, 3, 1),
 (93, 823, 1),
 (94, 632, 3),
 (97, 829, 1),
 (98, 3, 1),
 (99, 599, 1),
 (100, 835, 3),
 (103, 601, 1),
 (104, 841, 4),
 (108, 3, 1),
 (109, 848, 7),
 (116, 3, 1),
 (117, 858, 3),
 (120, 3, 1),
 (121, 864, 3),
 (124, 3, 1),
 (125, 870, 2),
 (127, 3, 1),
 (128, 875, 5),
 (133, 3, 1),
 (134, 883, 1),
 (135, 3, 1),
 (136, 887, 16),
 (152, 3, 1),
 (153, 906, 5),
 (158, 632, 4),
 (162, 917, 1),
 (163, 3, 1),
 (164, 921, 13),
 (177, 632, 3),
 (180, 939, 1),
 (181, 3, 1),
 (182, 943, 3),
 (185, 3, 1),
 (186, 949, 6),
 (192, 3, 1),
 (193, 958, 9),
 (202, 632, 2),
 (204, 971, 4),
 (208, 3, 1),
 (209, 978, 1),
 (210, 3, 1),
 (211, 982, 1),
 (212, 3, 1),
 (213, 986, 3),
 (216, 3, 1),
 (217, 992, 1),
 (218, 626, 1),
 (219, 3, 1)]


John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkmd1XoACgkQJdeBCYSNAAO9HACgu+dIHiiJCqy6O4OeLaxXUz0L
hP8AoKlkixT1ocj7oTfKXFnvO8qk13F0
=4PKu
-----END PGP SIGNATURE-----



More information about the bazaar mailing list