Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-copy.out @ 2577:fa76c5d609c9
bdiff: improve worst case behavior by 100x.
on 5.8MB (244.000 lines) text file with similar lines, hash before
this change made diff against empty file take 75 seconds. this change
improves performance to 0.6 seconds. result is that clone of smallish
repo (137MB) with some files like this takes 1 minute instead of 10
minutes.
common case of diff is 10% slower now, probably because of worse cache
locality. but diff does not affect overall performance in common case
(less than 1% of runtime is in diff when it is working ok), so this
tradeoff looks good.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 07 Jul 2006 15:02:55 -0700 |
parents | b72562060e45 |
children | fb493241d7f6 |
line wrap: on
line source
A b b b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 we should see two history entries changeset: 1:386a3cc01532710ca78aed9a54fa2f459c04f29c tag: tip user: test date: Mon Jan 12 13:46:40 1970 +0000 files: b description: 2 changeset: 0:33aaa84a386bd609094aeb21a97c09436c482ef1 user: test date: Mon Jan 12 13:46:40 1970 +0000 files: a description: 1 we should see one log entry for a changeset: 0:33aaa84a386b user: test date: Mon Jan 12 13:46:40 1970 +0000 summary: 1 this should show a revision linked to changeset 0 rev offset length base linkrev nodeid p1 p2 0 0 3 0 0 b789fdd96dc2 000000000000 000000000000 we should see one log entry for b changeset: 1:386a3cc01532 tag: tip user: test date: Mon Jan 12 13:46:40 1970 +0000 summary: 2 this should show a revision linked to changeset 1 rev offset length base linkrev nodeid p1 p2 0 0 65 0 1 9a263dd772e0 000000000000 000000000000 this should show the rename information in the metadata copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 copy: a ed156f22f0a6fde642de0b5eba0cbbb2 .hg/data/b.i 60b725f10c9c85c70d97880dfe8191b3 bsum 60b725f10c9c85c70d97880dfe8191b3 asum checking changesets checking manifests crosschecking files in changesets and manifests checking files 2 files, 2 changesets, 2 total revisions