Skip to content

chore: enforce limits in binary parsing - #698

Merged
venkkatesh-sekar merged 4 commits into
masterfrom
vsekar/type_table_limit
Feb 2, 2026
Merged

chore: enforce limits in binary parsing#698
venkkatesh-sekar merged 4 commits into
masterfrom
vsekar/type_table_limit

Conversation

@venkkatesh-sekar

@venkkatesh-sekarvenkkatesh-sekar commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@venkkatesh-sekar
venkkatesh-sekar requested a review from a team as a code ownerJanuary 30, 2026 09:08
@github-actions

github-actionsBot commented Jan 30, 2026

Copy link
Copy Markdown
NameMax Mem (Kb)EncodeDecode
blob4_2244_206_6352_121_422 ($\textcolor{red}{0.00\%}$)
btreemap75_4564_729_808_553 ($\textcolor{green}{-0.00\%}$)15_179_968_608 ($\textcolor{red}{0.00\%}$)
nns1281_973_970 ($\textcolor{green}{-0.14\%}$)5_501_540 ($\textcolor{green}{-0.06\%}$)
nns_list_proposal1_0886_888_468 ($\textcolor{green}{-0.20\%}$)66_536_629 ($\textcolor{red}{0.00\%}$)
option_list1288_041_655 ($\textcolor{green}{-0.00\%}$)25_427_052 ($\textcolor{green}{-0.72\%}$)
text6_3364_203_5487_877_429 ($\textcolor{red}{0.00\%}$)
variant_list1288_095_480 ($\textcolor{green}{-0.00\%}$)24_060_831 ($\textcolor{red}{0.00\%}$)
vec_int1616_704123_692_8571_017_142_154 ($\textcolor{red}{0.00\%}$)
  • Parser cost: 17_080_556
  • Extra args: 3_266_872 ($\textcolor{red}{0.01\%}$)
Click to see raw report
---------------------------------------------------
Benchmark: blob
total:
instructions: 6.33 M (0.00%) (change within noise threshold)
heap_increase: 66 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 4.21 M (no change)
heap_increase: 66 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 2.12 M (0.00%) (change within noise threshold)
heap_increase: 0 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: btreemap
total:
instructions: 19.91 B (-0.00%) (change within noise threshold)
heap_increase: 1179 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 4.73 B (-0.00%) (change within noise threshold)
heap_increase: 159 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 15.18 B (0.00%) (change within noise threshold)
heap_increase: 1020 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: extra_args
total:
instructions: 3.27 M (0.01%) (change within noise threshold)
heap_increase: 0 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: nns
total:
instructions: 25.40 M (-0.02%) (change within noise threshold)
heap_increase: 2 pages (no change)
stable_memory_increase: 0 pages (no change)
0. Parsing (scope):
calls: 1 (no change)
instructions: 17.08 M (no change)
heap_increase: 2 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 1.97 M (-0.14%) (change within noise threshold)
heap_increase: 0 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 5.50 M (-0.06%) (change within noise threshold)
heap_increase: 0 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: nns_list_proposal
total:
instructions: 73.43 M (-0.02%) (change within noise threshold)
heap_increase: 17 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 6.89 M (-0.20%) (change within noise threshold)
heap_increase: 3 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 66.54 M (0.00%) (change within noise threshold)
heap_increase: 14 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: option_list
total:
instructions: 33.47 M (-0.55%) (change within noise threshold)
heap_increase: 2 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 8.04 M (-0.00%) (change within noise threshold)
heap_increase: 0 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 25.43 M (-0.72%) (change within noise threshold)
heap_increase: 2 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: text
total:
instructions: 12.08 M (0.00%) (change within noise threshold)
heap_increase: 99 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 4.20 M (no change)
heap_increase: 66 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 7.88 M (0.00%) (change within noise threshold)
heap_increase: 33 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: variant_list
total:
instructions: 32.16 M (0.00%) (change within noise threshold)
heap_increase: 2 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 8.10 M (-0.00%) (change within noise threshold)
heap_increase: 0 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 24.06 M (0.00%) (change within noise threshold)
heap_increase: 2 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Benchmark: vec_int16
total:
instructions: 1.14 B (0.00%) (change within noise threshold)
heap_increase: 261 pages (no change)
stable_memory_increase: 0 pages (no change)
1. Encoding (scope):
calls: 1 (no change)
instructions: 123.69 M (no change)
heap_increase: 261 pages (no change)
stable_memory_increase: 0 pages (no change)
2. Decoding (scope):
calls: 1 (no change)
instructions: 1.02 B (0.00%) (change within noise threshold)
heap_increase: 0 pages (no change)
stable_memory_increase: 0 pages (no change)
---------------------------------------------------
Summary:
instructions:
status: No significant changes 👍
counts: [total 9 | regressed 0 | improved 0 | new 0 | unchanged 9]
change: [max +176 | p75 +91 | median +83 | p25 -6.12K | min -184.67K]
change %: [max 0.01% | p75 0.00% | median 0.00% | p25 -0.02% | min -0.55%]
heap_increase:
status: No significant changes 👍
counts: [total 9 | regressed 0 | improved 0 | new 0 | unchanged 9]
change: [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]
stable_memory_increase:
status: No significant changes 👍
counts: [total 9 | regressed 0 | improved 0 | new 0 | unchanged 9]
change: [max 0 | p75 0 | median 0 | p25 0 | min 0]
change %: [max 0.00% | p75 0.00% | median 0.00% | p25 0.00% | min 0.00%]
---------------------------------------------------
Successfully persisted results to canbench_results.yml

Comment threadrust/candid/src/binary_parser.rs Outdated
venkkatesh-sekarand others added 2 commits January 30, 2026 18:11
Co-authored-by: Linwei Shang <linwei.shang@dfinity.org>
@venkkatesh-sekar
venkkatesh-sekar merged commit 281d685 into masterFeb 2, 2026
11 checks passed
@venkkatesh-sekar
venkkatesh-sekar deleted the vsekar/type_table_limit branch February 2, 2026 15:46
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@venkkatesh-sekar@lwshang