annotate tests/test-simple-update @ 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 0902ffece4b4
children ad3d5b4367cb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
544
3d4d5f2aba9a Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 485
diff changeset
1 #!/bin/sh
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
2
800
ec85f9e6f3b1 Don't use 'set -x', fix exports, sed and hexdump usage for Solaris.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 749
diff changeset
3 set -e
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
4
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
5 mkdir test
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
6 cd test
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
7 echo foo>foo
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
8 hg init
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
9 hg addremove
749
7e4843b7efd2 Update tests to use commit -m and default -u
mpm@selenic.com
parents: 547
diff changeset
10 hg commit -m "1"
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
11 hg verify
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
12
485
c5705ab9cebd [PATCH] add clone command
mpm@selenic.com
parents: 350
diff changeset
13 hg clone . ../branch
c5705ab9cebd [PATCH] add clone command
mpm@selenic.com
parents: 350
diff changeset
14 cd ../branch
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
15 hg co
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
16 echo bar>>foo
749
7e4843b7efd2 Update tests to use commit -m and default -u
mpm@selenic.com
parents: 547
diff changeset
17 hg commit -m "2"
331
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
18
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
19 cd ../test
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
20 hg pull ../branch
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
21 hg verify
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
22 hg co
55f63f3b6a54 Add a simple testing framework
mpm@selenic.com
parents:
diff changeset
23 cat foo
485
c5705ab9cebd [PATCH] add clone command
mpm@selenic.com
parents: 350
diff changeset
24 hg manifest