Mercurial > hg
annotate tests/test-debugindexdot.t @ 50400:95acba2c29f6
encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
Apparently the code uses "+=" with a bytes object, which is linear-time, so the
whole encoding is quadratic-time. This patch makes us use a bytearray object,
instead, which has a(n amortized-)constant-time append operation.
The encoding is still not particularly fast, but at least a 10MB file
takes tens of seconds, not many hours to encode.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 06 Mar 2023 11:27:57 +0000 |
parents | cb9cf42c902f |
children |
rev | line source |
---|---|
17490 | 1 Just exercise debugindexdot |
11923
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
2 Create a short file history including a merge. |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
3 $ hg init t |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
4 $ cd t |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
5 $ echo a > a |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
6 $ hg ci -qAm t1 -d '0 0' |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
7 $ echo a >> a |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
8 $ hg ci -m t2 -d '1 0' |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
9 $ hg up -qC 0 |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
10 $ echo b >> a |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
11 $ hg ci -m t3 -d '2 0' |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
12 created new head |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
13 $ HGMERGE=true hg merge -q |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
14 $ hg ci -m merge -d '3 0' |
5346 | 15 |
39279
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
16 $ hg debugindexdot -c |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
17 digraph G { |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
18 -1 -> 0 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
19 0 -> 1 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
20 0 -> 2 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
21 2 -> 3 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
22 1 -> 3 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
23 } |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
24 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
25 $ hg debugindexdot -m |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
26 digraph G { |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
27 -1 -> 0 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
28 0 -> 1 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
29 0 -> 2 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
30 2 -> 3 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
31 1 -> 3 |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
32 } |
cb9cf42c902f
debugcommands: use openstorage() in debugindexdot
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37280
diff
changeset
|
33 |
37280
435481393198
tests: don't use revlog paths in tests
Gregory Szorc <gregory.szorc@gmail.com>
parents:
17490
diff
changeset
|
34 $ hg debugindexdot a |
11923
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
35 digraph G { |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
36 -1 -> 0 |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
37 0 -> 1 |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
38 0 -> 2 |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
39 2 -> 3 |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
40 1 -> 3 |
be74ba87acaf
tests: unify tests-debugindexdot
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5346
diff
changeset
|
41 } |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11923
diff
changeset
|
42 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11923
diff
changeset
|
43 $ cd .. |