Skip to content
Snippets Groups Projects
Commit cad83f54 authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

hg-perf: check delta timing for some merge too

parent 3e5cfc11
No related branches found
No related tags found
1 merge request!16perf-delta-find
Pipeline #56755 passed
......@@ -55,3 +55,18 @@
[hg-perf-ext.variants.dimensions.rev.manifest-snapshot-many-both-e]
args=["--manifest", "DATA-VARS:mercurial.revlog.delta-find.manifest.snapshot.many-both.e"]
[hg-perf-ext.variants.dimensions.rev.manifest-merge-long-chain-both-a]
args=["--manifest", "DATA-VARS:mercurial.revlog.delta-find.manifest.merge.long-chain-both.a"]
[hg-perf-ext.variants.dimensions.rev.manifest-merge-long-chain-both-b]
args=["--manifest", "DATA-VARS:mercurial.revlog.delta-find.manifest.merge.long-chain-both.b"]
[hg-perf-ext.variants.dimensions.rev.manifest-merge-long-chain-both-c]
args=["--manifest", "DATA-VARS:mercurial.revlog.delta-find.manifest.merge.long-chain-both.c"]
[hg-perf-ext.variants.dimensions.rev.manifest-merge-long-chain-both-d]
args=["--manifest", "DATA-VARS:mercurial.revlog.delta-find.manifest.merge.long-chain-both.d"]
[hg-perf-ext.variants.dimensions.rev.manifest-merge-long-chain-both-e]
args=["--manifest", "DATA-VARS:mercurial.revlog.delta-find.manifest.merge.long-chain-both.e"]
......@@ -36,5 +36,8 @@
proc.check_returncode()
delta_chain_data = json.loads(proc.stdout)
all_data = {}
all_info = {}
all_snap = {}
all_merge = []
......@@ -40,3 +43,3 @@
target_type =('base', 'snap')
target_type = ('base', 'snap')
for rev_info in delta_chain_data:
......@@ -42,4 +45,7 @@
for rev_info in delta_chain_data:
all_info[rev_info['rev']] = rev_info
if rev_info['p1'] != -1 and rev_info['p2'] != -1:
all_merge.append(rev_info)
if rev_info['deltatype'] not in target_type:
continue
......@@ -74,5 +80,5 @@
data[k] = v
break
if data is not None:
all_data[rev_info['rev']] = data
all_snap[rev_info['rev']] = data
......@@ -78,5 +84,5 @@
items = list(all_data.items())
items = list(all_snap.items())
def set_one(key, value):
......@@ -110,3 +116,17 @@
for i, r in enumerate(max_combined):
c = chr(ord('a') + i)
set_one(f'snapshot.many-both.{c}', r[0])
# search merges listing on the longest chain for parent
def key(i):
p1_len = all_info[i['p1']]['chainlen']
p2_len = all_info[i['p2']]['chainlen']
return (min(p1_len, p2_len), max(p1_len, p2_len), i['rev'])
all_merge.sort(key=key)
max_merge = all_merge[:-6:-1]
for i, r in enumerate(max_merge):
c = chr(ord('a') + i)
set_one(f'merge.long-chain-both.{c}', r['rev'])
......@@ -43,6 +43,13 @@
revlog:
delta-find:
manifest:
merge:
long-chain-both:
a = 11790
b = 9480
c = 8398
d = 4851
e = 2487
snapshot:
many-both:
a = 8152
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment