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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17490
a03c3ba3e4b5 spelling: exercise
timeless@mozdev.org
parents: 16913
diff changeset
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
8838fe5a236f Test debugindexdot
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
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 ..