Mercurial > hg
annotate contrib/base-revsets.txt @ 40172:30f70d11c224
wireprotov2: advertise recommended batch size for requests
Currently, exchangev2 hardcodes the batch size for how many revisions
to fetch per command request. A single value is not appropriate
for every repository because some repositories may have a drastically
different "shape" from other repositories. e.g. a repo with lots of
small files may benefit from larger batch sizes than a repo with lots
of large files. And depending on caching used by the server, the server
may wish to control the number of commands (to e.g. mitigate overhead
of following content redirects).
This commit teaches wireprotov2 commands to declare extra metadata
which is advertised as part of the command descriptor. The manifestdata
command has been taught to advertise a recommended batch size for
requests.
Differential Revision: https://phab.mercurial-scm.org/D4975
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 08 Oct 2018 17:45:51 -0700 |
parents | 70a4289896b0 |
children | a4483e380c3e |
rev | line source |
---|---|
25608
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
1 # Base Revsets to be used with revsetbenchmarks.py script |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
2 # |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
3 # The goal of this file is to gather a limited amount of revsets that allow a |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
4 # good coverage of the internal revsets mechanisms. Revsets included should not |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
5 # be selected for their individual implementation, but for what they reveal of |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
6 # the internal implementation of smartsets classes (and their interactions). |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
7 # |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
8 # Use and update this file when you change internal implementation of these |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
9 # smartsets classes. Please include a comment explaining what each of your |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
10 # addition is testing. Also check if your changes to the smartset class makes |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
11 # some of the tests inadequate and replace them with a new one testing the same |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
12 # behavior. |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
13 # |
25609
67a2192dcb64
contrib: introduce an all-revsets.txt file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25608
diff
changeset
|
14 # If you want to benchmark revsets predicate itself, check 'all-revsets.txt'. |
67a2192dcb64
contrib: introduce an all-revsets.txt file
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25608
diff
changeset
|
15 # |
25608
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
16 # The current content of this file is currently likely not reaching this goal |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
17 # entirely, feel free, to audit its content and comment on each revset to |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
18 # highlight what internal mechanisms they test. |
2fea23d035d8
contrib: rename revsetbenchmarks.txt to 'base-revsets.txt'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25545
diff
changeset
|
19 |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
20 all() |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
21 draft() |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
22 ::tip |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
23 draft() and ::tip |
21285
7078ce067367
revsetbenchmark: add `::tip and draft()` to the canonical list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21204
diff
changeset
|
24 ::tip and draft() |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
25 0::tip |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
26 roots(0::tip) |
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
27 author(lmoscovicz) |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
28 author(mpm) |
20744
9907b3f79ac2
contrib: added revset examples for benchmarking performance
Lucas Moscovicz <lmoscovicz@fb.com>
parents:
diff
changeset
|
29 author(lmoscovicz) or author(mpm) |
21295
883e268cb860
revsetbenchmark: add `author(mpm) or author(lmoscovicz)` to the canonical list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21285
diff
changeset
|
30 author(mpm) or author(lmoscovicz) |
20777
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
31 tip:0 |
77318d3c3b24
benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20754
diff
changeset
|
32 0:: |
22556
480a24ad9f77
revsetbenchmark: allow comments ('#' prefix) in the revset input
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22458
diff
changeset
|
33 # those two `roots(...)` inputs are close to what phase movement use. |
20894
04e1596d5dbd
revset: improve _descendants performance
Durham Goode <durham@fb.com>
parents:
20861
diff
changeset
|
34 roots((tip~100::) - (tip~100::tip)) |
22556
480a24ad9f77
revsetbenchmark: allow comments ('#' prefix) in the revset input
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22458
diff
changeset
|
35 roots((0::) - (0::tip)) |
24923
e5f166961123
revset: narrow the subset using smartset operation in roots()
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22557
diff
changeset
|
36 42:68 and roots(42:tip) |
20861
c2a81aa19980
revsetbenchmark: add entry for ::rev::
Gregory Szorc <gregory.szorc@gmail.com>
parents:
20777
diff
changeset
|
37 ::p1(p1(tip)):: |
21204
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
38 public() |
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
39 :10000 and public() |
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
40 draft() |
1d7a2771aa36
revset: inline spanset containment check (fix perf regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
20894
diff
changeset
|
41 :10000 and draft() |
21939
f486001f9d6f
revset: optimize baseset.__sub__ (issue4313)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21546
diff
changeset
|
42 roots((0:tip)::) |
22312
8b980fbbd6dc
revsetbenchmark: add revset with lazyset subtraction
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21939
diff
changeset
|
43 (not public() - obsolete()) |
22451
186fd06283b4
revset: lower weight for _intlist function
Durham Goode <durham@fb.com>
parents:
22450
diff
changeset
|
44 (_intlist('20000\x0020001')) and merge() |
22450
95af98616aa7
revset: make parents() O(number of parents)
Durham Goode <durham@fb.com>
parents:
22449
diff
changeset
|
45 parents(20000) |
22449
da05fe01170b
revset: make descendants() lazier
Durham Goode <durham@fb.com>
parents:
22312
diff
changeset
|
46 (20000::) - (20000) |
22557
ace8320156ef
revsetbenchmark: add a rebase-related revset to the benchmark list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22556
diff
changeset
|
47 # The one below is used by rebase |
ace8320156ef
revsetbenchmark: add a rebase-related revset to the benchmark list
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22556
diff
changeset
|
48 (children(ancestor(tip~5, tip)) and ::(tip~5)):: |
38712
70a4289896b0
revset: add larger test for heads(ancestors(…))
Boris Feld <boris.feld@octobus.net>
parents:
25609
diff
changeset
|
49 heads(commonancestors(last(head(), 2))) |