author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Mon, 11 Dec 2023 22:27:59 +0100 | |
changeset 51181 | dcaa2df1f688 |
parent 48876 | 42d2b31cee0b |
child 51653 | d6c895e4adc4 |
permissions | -rw-r--r-- |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
1 |
create verbosemmap.py |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
2 |
$ cat << EOF > verbosemmap.py |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
3 |
> # extension to make util.mmapread verbose |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
4 |
> |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
5 |
> |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
6 |
> from mercurial import ( |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
7 |
> extensions, |
35404
6ebe899b6551
py3: pass bytes from extension to ui.write() in test-revlog-mmapindex.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35393
diff
changeset
|
8 |
> pycompat, |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
9 |
> util, |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
10 |
> ) |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
11 |
> |
34446
b0c97e44576f
test-revlog-mmapindex: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
34296
diff
changeset
|
12 |
> def extsetup(ui): |
51181
dcaa2df1f688
changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48876
diff
changeset
|
13 |
> def mmapread(orig, fp, *args): |
35404
6ebe899b6551
py3: pass bytes from extension to ui.write() in test-revlog-mmapindex.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35393
diff
changeset
|
14 |
> ui.write(b"mmapping %s\n" % pycompat.bytestr(fp.name)) |
34446
b0c97e44576f
test-revlog-mmapindex: make it compatible with chg
Jun Wu <quark@fb.com>
parents:
34296
diff
changeset
|
15 |
> ui.flush() |
51181
dcaa2df1f688
changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48876
diff
changeset
|
16 |
> return orig(fp, *args) |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
17 |
> |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
18 |
> extensions.wrapfunction(util, 'mmapread', mmapread) |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
19 |
> EOF |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
20 |
|
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
21 |
setting up base repo |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
22 |
$ hg init a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
23 |
$ cd a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
24 |
$ touch a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
25 |
$ hg add a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
26 |
$ hg commit -qm base |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
27 |
$ for i in `$TESTDIR/seq.py 1 100` ; do |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
28 |
> echo $i > a |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
29 |
> hg commit -qm $i |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
30 |
> done |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
31 |
|
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
32 |
set up verbosemmap extension |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
33 |
$ cat << EOF >> $HGRCPATH |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
34 |
> [extensions] |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
35 |
> verbosemmap=$TESTTMP/verbosemmap.py |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
36 |
> EOF |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
37 |
|
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
38 |
mmap index which is now more than 4k long |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
39 |
$ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=4k |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34446
diff
changeset
|
40 |
mmapping $TESTTMP/a/.hg/store/00changelog.i |
51181
dcaa2df1f688
changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48876
diff
changeset
|
41 |
mmapping $TESTTMP/a/.hg/store/00changelog-????????.nd (glob) (rust !) |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
42 |
100 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
43 |
99 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
44 |
98 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
45 |
97 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
46 |
96 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
47 |
|
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
48 |
do not mmap index which is still less than 32k |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
49 |
$ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=32k |
51181
dcaa2df1f688
changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48876
diff
changeset
|
50 |
mmapping $TESTTMP/a/.hg/store/00changelog-????????.nd (glob) (rust !) |
34296
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
51 |
100 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
52 |
99 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
53 |
98 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
54 |
97 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
55 |
96 |
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
56 |
|
3c9691728237
revlog: add option to mmap revlog index
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
57 |
$ cd .. |