annotate tests/test-inotify-debuginotify.t @ 18091:f7f8159caad3

ancestor: add lazy membership testing to lazyancestors This also makes the perfancestorset command use lazy membership testing. In a linear repository with over 400,000 commits, without this patch, hg perfancestorset takes 0.80 seconds no matter how far behind we're looking. With this patch, hg perfancestorset -- X takes: Rev X Time -1 0.00s -4000 0.01s -20000 0.04s -80000 0.17s -200000 0.43s -300000 0.69s 0 0.88s Thus, for revisions close to tip, we're up to several orders of magnitude faster. At 0 we're around 10% slower.
author Siddharth Agarwal <sid0@fb.com>
date Tue, 18 Dec 2012 12:47:20 -0800
parents 17ebf11bff81
children 104e120416ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
1
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
2 $ "$TESTDIR/hghave" inotify || exit 80
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
3 $ hg init
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
4 $ echo "[extensions]" >> $HGRCPATH
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
5 $ echo "inotify=" >> $HGRCPATH
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
6
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
7 inserve
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
8
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
9 $ hg inserve -d --pid-file=hg.pid
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
10 $ cat hg.pid >> "$DAEMON_PIDS"
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
11
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
12 let the daemon finish its stuff
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
13
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
14 $ sleep 1
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
15
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
16 empty
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
17
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
18 $ hg debuginotify
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
19 directories being watched:
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
20 /
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
21 .hg/
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
22 $ mkdir a
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
23 $ sleep 1
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
24
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
25 only 'a
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
26
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
27 $ hg debuginotify
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
28 directories being watched:
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
29 /
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
30 .hg/
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
31 a/
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
32 $ rmdir a
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
33 $ sleep 1
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
34
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
35 empty again
8555
3e09bc5fee12 inotify: introduce debuginotify, which lists which paths are under watch
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
diff changeset
36
12451
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
37 $ hg debuginotify
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
38 directories being watched:
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
39 /
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
40 .hg/
17ebf11bff81 tests: unify test-inotify-debuginotify
Matt Mackall <mpm@selenic.com>
parents: 8555
diff changeset
41 $ kill `cat hg.pid`