Skip to content

chore: test reports and imm refs#268

Closed
vezenovm wants to merge 10 commits intomv/brillig-execution-reportsfrom
mv/test-imm-refs
Closed

chore: test reports and imm refs#268
vezenovm wants to merge 10 commits intomv/brillig-execution-reportsfrom
mv/test-imm-refs

Conversation

@vezenovm
Copy link
Copy Markdown
Contributor

@vezenovm vezenovm commented Apr 9, 2026

Description

Problem*

Test whether the reports added in #267 are working and we have good results in #265

Summary*

Additional Context

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Brillig Bytecode Size'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.01.

Benchmark suite Current: 4d24e60 Previous: 00d4360 Ratio
assert_is_not_equal_BLS12_377Fq_Bench 116 opcodes 110 opcodes 1.05
assert_is_not_equal_BLS12_377Fr_Bench 103 opcodes 97 opcodes 1.06
assert_is_not_equal_BLS12_381Fq_Bench 116 opcodes 110 opcodes 1.05
assert_is_not_equal_BLS12_381Fr_Bench 103 opcodes 97 opcodes 1.06
assert_is_not_equal_BN254_Fq_Bench 103 opcodes 97 opcodes 1.06
assert_is_not_equal_U2048_Bench 198 opcodes 192 opcodes 1.03
assert_is_not_equal_U256_Bench 105 opcodes 99 opcodes 1.06
assert_is_not_zero_BLS12_377Fq_Bench 78 opcodes 75 opcodes 1.04
assert_is_not_zero_BLS12_377Fr_Bench 71 opcodes 68 opcodes 1.04
assert_is_not_zero_BLS12_381Fq_Bench 78 opcodes 75 opcodes 1.04
assert_is_not_zero_BLS12_381Fr_Bench 71 opcodes 68 opcodes 1.04
assert_is_not_zero_BN254_Fq_Bench 71 opcodes 68 opcodes 1.04
assert_is_not_zero_U2048_Bench 178 opcodes 175 opcodes 1.02
assert_is_not_zero_U256_Bench 73 opcodes 70 opcodes 1.04
assert_is_not_zero_integer_BLS12_377Fq_Bench 69 opcodes 66 opcodes 1.05
assert_is_not_zero_integer_BLS12_377Fr_Bench 63 opcodes 60 opcodes 1.05
assert_is_not_zero_integer_BLS12_381Fq_Bench 69 opcodes 66 opcodes 1.05
assert_is_not_zero_integer_BLS12_381Fr_Bench 63 opcodes 60 opcodes 1.05
assert_is_not_zero_integer_BN254_Fq_Bench 63 opcodes 60 opcodes 1.05
assert_is_not_zero_integer_U2048_Bench 153 opcodes 150 opcodes 1.02
assert_is_not_zero_integer_U256_Bench 63 opcodes 60 opcodes 1.05
cmp_BLS12_377Fq_Bench 291 opcodes 285 opcodes 1.02
cmp_BLS12_377Fr_Bench 251 opcodes 245 opcodes 1.02
cmp_BLS12_381Fq_Bench 291 opcodes 285 opcodes 1.02
cmp_BLS12_381Fr_Bench 251 opcodes 245 opcodes 1.02
cmp_BN254_Fq_Bench 251 opcodes 245 opcodes 1.02
cmp_U256_Bench 251 opcodes 245 opcodes 1.02
is_zero_BLS12_377Fq_Bench 80 opcodes 77 opcodes 1.04
is_zero_BLS12_377Fr_Bench 71 opcodes 68 opcodes 1.04
is_zero_BLS12_381Fq_Bench 80 opcodes 77 opcodes 1.04
is_zero_BLS12_381Fr_Bench 71 opcodes 68 opcodes 1.04
is_zero_BN254_Fq_Bench 71 opcodes 68 opcodes 1.04
is_zero_U2048_Bench 190 opcodes 187 opcodes 1.02
is_zero_U256_Bench 70 opcodes 67 opcodes 1.04
is_zero_integer_BLS12_377Fq_Bench 64 opcodes 61 opcodes 1.05
is_zero_integer_BLS12_377Fr_Bench 58 opcodes 55 opcodes 1.05
is_zero_integer_BLS12_381Fq_Bench 64 opcodes 61 opcodes 1.05
is_zero_integer_BLS12_381Fr_Bench 58 opcodes 55 opcodes 1.05
is_zero_integer_BN254_Fq_Bench 58 opcodes 55 opcodes 1.05
is_zero_integer_U2048_Bench 148 opcodes 145 opcodes 1.02
is_zero_integer_U256_Bench 58 opcodes 55 opcodes 1.05
sqrt_U2048_Bench 64 opcodes 61 opcodes 1.05
sqrt_U256_Bench 49 opcodes 46 opcodes 1.07
to_be_bytes_BLS12_377Fq_Bench 251 opcodes 248 opcodes 1.01
to_be_bytes_BLS12_377Fr_Bench 201 opcodes 198 opcodes 1.02
to_be_bytes_BLS12_381Fq_Bench 251 opcodes 248 opcodes 1.01
to_be_bytes_BLS12_381Fr_Bench 201 opcodes 198 opcodes 1.02
to_be_bytes_BN254_Fq_Bench 201 opcodes 198 opcodes 1.02
to_be_bytes_U2048_Bench 201 opcodes 198 opcodes 1.02
to_be_bytes_U256_Bench 209 opcodes 206 opcodes 1.01
to_le_bytes_BLS12_377Fq_Bench 294 opcodes 291 opcodes 1.01
to_le_bytes_BLS12_377Fr_Bench 244 opcodes 241 opcodes 1.01
to_le_bytes_BLS12_381Fq_Bench 294 opcodes 291 opcodes 1.01
to_le_bytes_BLS12_381Fr_Bench 244 opcodes 241 opcodes 1.01
to_le_bytes_BN254_Fq_Bench 244 opcodes 241 opcodes 1.01
to_le_bytes_U2048_Bench 241 opcodes 238 opcodes 1.01
to_le_bytes_U256_Bench 252 opcodes 249 opcodes 1.01
validate_in_range_BLS12_377Fq_Bench 80 opcodes 77 opcodes 1.04
validate_in_range_BLS12_377Fr_Bench 70 opcodes 67 opcodes 1.04
validate_in_range_BLS12_381Fq_Bench 80 opcodes 77 opcodes 1.04
validate_in_range_BLS12_381Fr_Bench 70 opcodes 67 opcodes 1.04
validate_in_range_BN254_Fq_Bench 70 opcodes 67 opcodes 1.04
validate_in_range_U2048_Bench 220 opcodes 217 opcodes 1.01
validate_in_range_U256_Bench 70 opcodes 67 opcodes 1.04

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Changes to number of Brillig opcodes executed

Generated at commit: 009078c30d8ebb49b43cf2513f4bb363e71823a0, compared to commit: afbe71a5fcbdddeaf02208d75c74beb4db56450a

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
assert_is_not_equal_BLS12_377Fr_Bench +6 ❌ +4.55%
assert_is_not_equal_BLS12_381Fr_Bench +6 ❌ +4.55%
assert_is_not_equal_BN254_Fq_Bench +6 ❌ +4.55%
to_field_BLS12_381Fr_Bench -7 ✅ -4.76%
to_field_BN254_Fq_Bench -7 ✅ -4.76%
to_field_U256_Bench -7 ✅ -4.76%
div_BLS12_377Fq_Bench -615 ✅ -14.41%
div_BLS12_381Fq_Bench -615 ✅ -14.41%
mul_BLS12_377Fq_Bench -577 ✅ -16.68%
mul_BLS12_381Fq_Bench -577 ✅ -16.68%
batch_invert_10_elements_BLS12_377Fq_Bench -16,974 ✅ -16.87%
batch_invert_10_elements_BLS12_381Fq_Bench -16,974 ✅ -16.87%
sqrt_BLS12_377Fq_Bench -1,820,700 ✅ -17.78%
sqrt_BLS12_381Fq_Bench -712,888 ✅ -17.79%
pow_BLS12_377Fq_Bench -223,207 ✅ -17.87%
pow_BLS12_381Fq_Bench -225,563 ✅ -17.87%

Full diff report 👇
Program Brillig opcodes (+/-) %
assert_is_not_equal_BLS12_377Fr_Bench 138 (+6) +4.55%
assert_is_not_equal_BLS12_381Fr_Bench 138 (+6) +4.55%
assert_is_not_equal_BN254_Fq_Bench 138 (+6) +4.55%
assert_is_not_equal_U256_Bench 140 (+6) +4.48%
is_zero_integer_BLS12_377Fr_Bench 72 (+3) +4.35%
is_zero_integer_BLS12_381Fr_Bench 72 (+3) +4.35%
is_zero_integer_BN254_Fq_Bench 72 (+3) +4.35%
is_zero_integer_U256_Bench 72 (+3) +4.35%
assert_is_not_zero_integer_BLS12_377Fr_Bench 73 (+3) +4.29%
assert_is_not_zero_integer_BLS12_381Fr_Bench 73 (+3) +4.29%
assert_is_not_zero_integer_BN254_Fq_Bench 73 (+3) +4.29%
assert_is_not_zero_integer_U256_Bench 73 (+3) +4.29%
validate_in_range_BLS12_377Fr_Bench 78 (+3) +4.00%
validate_in_range_BLS12_381Fr_Bench 78 (+3) +4.00%
validate_in_range_BN254_Fq_Bench 78 (+3) +4.00%
validate_in_range_U256_Bench 78 (+3) +4.00%
assert_is_not_zero_BLS12_377Fr_Bench 81 (+3) +3.85%
assert_is_not_zero_BLS12_381Fr_Bench 81 (+3) +3.85%
assert_is_not_zero_BN254_Fq_Bench 81 (+3) +3.85%
assert_is_not_equal_BLS12_377Fq_Bench 163 (+6) +3.82%
assert_is_not_equal_BLS12_381Fq_Bench 163 (+6) +3.82%
assert_is_not_zero_U256_Bench 83 (+3) +3.75%
is_zero_U256_Bench 84 (+3) +3.70%
is_zero_integer_BLS12_377Fq_Bench 84 (+3) +3.70%
is_zero_integer_BLS12_381Fq_Bench 84 (+3) +3.70%
assert_is_not_zero_integer_BLS12_377Fq_Bench 85 (+3) +3.66%
assert_is_not_zero_integer_BLS12_381Fq_Bench 85 (+3) +3.66%
is_zero_BLS12_377Fr_Bench 85 (+3) +3.66%
is_zero_BLS12_381Fr_Bench 85 (+3) +3.66%
is_zero_BN254_Fq_Bench 85 (+3) +3.66%
validate_in_range_BLS12_377Fq_Bench 93 (+3) +3.33%
validate_in_range_BLS12_381Fq_Bench 93 (+3) +3.33%
assert_is_not_zero_BLS12_377Fq_Bench 94 (+3) +3.30%
assert_is_not_zero_BLS12_381Fq_Bench 94 (+3) +3.30%
is_zero_BLS12_377Fq_Bench 100 (+3) +3.09%
is_zero_BLS12_381Fq_Bench 100 (+3) +3.09%
is_zero_integer_U2048_Bench 252 (+3) +1.20%
assert_is_not_zero_integer_U2048_Bench 253 (+3) +1.20%
assert_is_not_zero_U2048_Bench 278 (+3) +1.09%
is_zero_U2048_Bench 294 (+3) +1.03%
validate_in_range_U2048_Bench 303 (+3) +1.00%
assert_is_not_equal_U2048_Bench 900 (+6) +0.67%
to_be_bytes_BLS12_377Fr_Bench 1,291 (+3) +0.23%
to_be_bytes_BLS12_381Fr_Bench 1,291 (+3) +0.23%
to_be_bytes_BN254_Fq_Bench 1,291 (+3) +0.23%
to_be_bytes_U256_Bench 1,314 (+3) +0.23%
to_be_bytes_BLS12_377Fq_Bench 1,895 (+3) +0.16%
to_be_bytes_BLS12_381Fq_Bench 1,895 (+3) +0.16%
to_le_bytes_BLS12_377Fr_Bench 2,299 (+3) +0.13%
to_le_bytes_BLS12_381Fr_Bench 2,299 (+3) +0.13%
to_le_bytes_BN254_Fq_Bench 2,299 (+3) +0.13%
to_le_bytes_U256_Bench 2,353 (+3) +0.13%
to_le_bytes_BLS12_377Fq_Bench 3,399 (+3) +0.09%
to_le_bytes_BLS12_381Fq_Bench 3,399 (+3) +0.09%
to_be_bytes_U2048_Bench 10,237 (+3) +0.03%
to_le_bytes_U2048_Bench 18,220 (+3) +0.02%
mul_U2048_Bench 52,192 (-27) -0.05%
pow_U2048_Bench 106,008,551 (-55,365) -0.05%
evaluate_quadratic_expression_12_elements_U2048_Bench 677,118 (-420) -0.06%
derive_from_seed_13_elements_U2048_Bench 137,161 (-93) -0.07%
evaluate_quadratic_expression_3_elements_U2048_Bench 209,211 (-150) -0.07%
udiv_mod_U2048_Bench 1,887 (-3) -0.16%
udiv_U2048_Bench 1,760 (-3) -0.17%
neg_U2048_Bench 1,119 (-3) -0.27%
udiv_mod_BLS12_377Fq_Bench 935 (-3) -0.32%
udiv_mod_BLS12_381Fq_Bench 935 (-3) -0.32%
udiv_BLS12_377Fq_Bench 892 (-3) -0.34%
udiv_BLS12_381Fq_Bench 892 (-3) -0.34%
udiv_mod_BLS12_377Fr_Bench 873 (-3) -0.34%
udiv_mod_BLS12_381Fr_Bench 873 (-3) -0.34%
udiv_mod_BN254_Fq_Bench 873 (-3) -0.34%
udiv_mod_U256_Bench 873 (-3) -0.34%
udiv_BLS12_377Fr_Bench 836 (-3) -0.36%
udiv_BLS12_381Fr_Bench 836 (-3) -0.36%
udiv_BN254_Fq_Bench 836 (-3) -0.36%
udiv_U256_Bench 836 (-3) -0.36%
div_U2048_Bench 1,754 (-9) -0.51%
eq_U2048_Bench 2,071 (-12) -0.58%
sub_U2048_Bench 2,062 (-12) -0.58%
cmp_U2048_Bench 2,497 (-15) -0.60%
add_U2048_Bench 1,271 (-9) -0.70%
evaluate_quadratic_expression_12_elements_BLS12_381Fr_Bench 45,325 (-336) -0.74%
evaluate_quadratic_expression_12_elements_BN254_Fq_Bench 45,325 (-336) -0.74%
evaluate_quadratic_expression_12_elements_BLS12_377Fr_Bench 45,319 (-336) -0.74%
evaluate_quadratic_expression_12_elements_U256_Bench 44,482 (-336) -0.75%
evaluate_quadratic_expression_3_elements_BLS12_381Fr_Bench 13,666 (-120) -0.87%
evaluate_quadratic_expression_3_elements_BN254_Fq_Bench 13,666 (-120) -0.87%
evaluate_quadratic_expression_3_elements_BLS12_377Fr_Bench 13,660 (-120) -0.87%
evaluate_quadratic_expression_12_elements_BLS12_377Fq_Bench 64,100 (-582) -0.90%
evaluate_quadratic_expression_12_elements_BLS12_381Fq_Bench 64,100 (-582) -0.90%
evaluate_quadratic_expression_3_elements_U256_Bench 12,823 (-120) -0.93%
batch_invert_10_elements_BLS12_381Fr_Bench 50,442 (-534) -1.05%
batch_invert_10_elements_BN254_Fq_Bench 50,442 (-534) -1.05%
batch_invert_10_elements_BLS12_377Fr_Bench 50,262 (-534) -1.05%
div_U256_Bench 830 (-9) -1.07%
mul_BLS12_381Fr_Bench 1,767 (-21) -1.17%
mul_BN254_Fq_Bench 1,767 (-21) -1.17%
mul_BLS12_377Fr_Bench 1,761 (-21) -1.18%
sqrt_BLS12_381Fr_Bench 3,813,009 (-47,334) -1.23%
sqrt_BN254_Fq_Bench 1,175,317 (-14,652) -1.23%
to_field_U2048_Bench 1,912 (-24) -1.24%
sqrt_BLS12_377Fr_Bench 6,655,221 (-83,865) -1.24%
derive_from_seed_13_elements_U256_Bench 6,235 (-80) -1.27%
pow_BN254_Fq_Bench 414,887 (-5,364) -1.28%
pow_BLS12_381Fr_Bench 416,507 (-5,385) -1.28%
pow_BLS12_377Fr_Bench 411,737 (-5,343) -1.28%
derive_from_seed_13_elements_BLS12_381Fr_Bench 7,965 (-104) -1.29%
derive_from_seed_13_elements_BN254_Fq_Bench 7,965 (-104) -1.29%
derive_from_seed_13_elements_BLS12_377Fr_Bench 7,953 (-104) -1.29%
evaluate_quadratic_expression_3_elements_BLS12_377Fq_Bench 20,050 (-366) -1.79%
evaluate_quadratic_expression_3_elements_BLS12_381Fq_Bench 20,050 (-366) -1.79%
mul_U256_Bench 936 (-21) -2.19%
div_BLS12_381Fr_Bench 2,383 (-59) -2.42%
div_BN254_Fq_Bench 2,383 (-59) -2.42%
div_BLS12_377Fr_Bench 2,377 (-59) -2.42%
pow_U256_Bench 206,582 (-5,427) -2.56%
sub_BLS12_377Fq_Bench 383 (-12) -3.04%
sub_BLS12_381Fq_Bench 383 (-12) -3.04%
eq_BLS12_377Fq_Bench 376 (-12) -3.09%
eq_BLS12_381Fq_Bench 376 (-12) -3.09%
add_BLS12_377Fq_Bench 272 (-9) -3.20%
add_BLS12_381Fq_Bench 272 (-9) -3.20%
to_field_BLS12_377Fq_Bench 176 (-6) -3.30%
to_field_BLS12_381Fq_Bench 176 (-6) -3.30%
sub_BLS12_377Fr_Bench 306 (-12) -3.77%
sub_BLS12_381Fr_Bench 306 (-12) -3.77%
sub_BN254_Fq_Bench 306 (-12) -3.77%
add_BLS12_377Fr_Bench 228 (-9) -3.80%
add_BLS12_381Fr_Bench 228 (-9) -3.80%
add_BN254_Fq_Bench 228 (-9) -3.80%
add_U256_Bench 227 (-9) -3.81%
eq_BLS12_377Fr_Bench 299 (-12) -3.86%
eq_BLS12_381Fr_Bench 299 (-12) -3.86%
eq_BN254_Fq_Bench 299 (-12) -3.86%
sub_U256_Bench 263 (-12) -4.36%
eq_U256_Bench 256 (-12) -4.48%
derive_from_seed_13_elements_BLS12_381Fq_Bench 12,145 (-570) -4.48%
derive_from_seed_13_elements_BLS12_377Fq_Bench 12,136 (-570) -4.49%
to_field_BLS12_381Fr_Bench 140 (-7) -4.76%
to_field_BN254_Fq_Bench 140 (-7) -4.76%
to_field_U256_Bench 140 (-7) -4.76%
div_BLS12_377Fq_Bench 3,652 (-615) -14.41%
div_BLS12_381Fq_Bench 3,652 (-615) -14.41%
mul_BLS12_377Fq_Bench 2,882 (-577) -16.68%
mul_BLS12_381Fq_Bench 2,882 (-577) -16.68%
batch_invert_10_elements_BLS12_377Fq_Bench 83,647 (-16,974) -16.87%
batch_invert_10_elements_BLS12_381Fq_Bench 83,647 (-16,974) -16.87%
sqrt_BLS12_377Fq_Bench 8,421,711 (-1,820,700) -17.78%
sqrt_BLS12_381Fq_Bench 3,294,653 (-712,888) -17.79%
pow_BLS12_377Fq_Bench 1,025,769 (-223,207) -17.87%
pow_BLS12_381Fq_Bench 1,036,593 (-225,563) -17.87%

@vezenovm vezenovm changed the title Mv/test imm refs chore: test imm refs Apr 9, 2026
@vezenovm vezenovm changed the title chore: test imm refs chore: test reports and imm refs Apr 9, 2026
Sign up for free to 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