Skip to content

Conversation

@jfecher
Copy link
Contributor

@jfecher jfecher commented Nov 13, 2025

Description

Problem

Resolves

Summary

Additional Context

User Documentation

Check one:

  • No user documentation needed.
  • Changes in docs/ included in this PR.
  • [For Experimental Features] Changes in docs/ to be submitted in a separate PR.

PR Checklist

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

Copy link
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 'ACVM Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 25cf006 Previous: 5a85979 Ratio
perfectly_parallel_batch_inversion_opcodes 2782767 ns/iter (± 1785) 2258991 ns/iter (± 833) 1.23

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

CC: @TomAFrench

@github-actions
Copy link
Contributor

github-actions bot commented Nov 13, 2025

Changes to Brillig bytecode sizes

Generated at commit: 2c4cba7af8b1d257c7f10979b273d474e4286508, compared to commit: 9238b702e944e6a3ac0dffcd92c1ed9027b63e75

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
hashmap_inliner_max +54,729 ❌ +294.62%
regression_9455_inliner_max +29 ❌ +131.82%
regression_9455_inliner_min +29 ❌ +131.82%
regression_9455_inliner_zero +29 ❌ +131.82%
uhashmap_inliner_max +10,614 ❌ +94.25%
references_inliner_max +119 ❌ +87.50%
references_inliner_zero +85 ❌ +40.87%
regression_11294_inliner_max +72 ❌ +32.14%
regression_11294_inliner_zero +72 ❌ +32.14%
regression_8926_inliner_max -18 ✅ -24.32%
regression_8926_inliner_min -18 ✅ -24.32%
regression_8926_inliner_zero -18 ✅ -24.32%
array_to_slice_inliner_max -122 ✅ -24.90%
a_7_function_inliner_max -139 ✅ -27.10%
regression_9037_inliner_max -66 ✅ -35.87%
regression_9037_inliner_min -66 ✅ -35.87%
regression_9037_inliner_zero -66 ✅ -35.87%
regression_unused_nested_array_get_inliner_max -14 ✅ -41.18%
regression_unused_nested_array_get_inliner_min -14 ✅ -41.18%
regression_unused_nested_array_get_inliner_zero -14 ✅ -41.18%
regression_9907_inliner_max -56 ✅ -46.28%
regression_9907_inliner_zero -56 ✅ -46.28%
fold_complex_outputs_inliner_zero -220 ✅ -49.66%
regression_9907_inliner_min -67 ✅ -50.76%
loop_small_break_inliner_max -24 ✅ -53.33%
loop_small_break_inliner_min -24 ✅ -53.33%
loop_small_break_inliner_zero -24 ✅ -53.33%
regression_8975_inliner_max -32 ✅ -59.26%
regression_8975_inliner_zero -32 ✅ -59.26%
regression_9102_inliner_min -82 ✅ -59.42%
regression_9102_inliner_max -80 ✅ -61.54%
regression_8739_inliner_max -32 ✅ -61.54%
regression_9102_inliner_zero -80 ✅ -61.54%
regression_8755_inliner_max -42 ✅ -65.63%
regression_8755_inliner_zero -42 ✅ -65.63%
regression_8739_inliner_min -39 ✅ -66.10%
regression_8739_inliner_zero -39 ✅ -66.10%
fold_complex_outputs_inliner_max -277 ✅ -66.11%
regression_8755_inliner_min -51 ✅ -69.86%
regression_8975_inliner_min -70 ✅ -76.09%

Full diff report 👇
Program Brillig opcodes (+/-) %
hashmap_inliner_max 73,305 (+54,729) +294.62%
regression_9455_inliner_max 51 (+29) +131.82%
regression_9455_inliner_min 51 (+29) +131.82%
regression_9455_inliner_zero 51 (+29) +131.82%
uhashmap_inliner_max 21,876 (+10,614) +94.25%
references_inliner_max 255 (+119) +87.50%
references_inliner_zero 293 (+85) +40.87%
regression_11294_inliner_max 296 (+72) +32.14%
regression_11294_inliner_zero 296 (+72) +32.14%
references_inliner_min 297 (+57) +23.75%
conditional_1_inliner_max 547 (+51) +10.28%
loop_invariant_nested_deep_inliner_max 41 (+3) +7.89%
loop_invariant_nested_deep_inliner_min 41 (+3) +7.89%
loop_invariant_nested_deep_inliner_zero 41 (+3) +7.89%
conditional_regression_underflow_inliner_max 72 (+4) +5.88%
conditional_regression_underflow_inliner_min 72 (+4) +5.88%
conditional_regression_underflow_inliner_zero 72 (+4) +5.88%
regression_4663_inliner_min 351 (+19) +5.72%
regression_5252_inliner_max 4,183 (+165) +4.11%
regression_8329_inliner_max 55 (+2) +3.77%
regression_8329_inliner_min 55 (+2) +3.77%
regression_8329_inliner_zero 55 (+2) +3.77%
loop_invariant_regression_8586_inliner_max 29 (+1) +3.57%
loop_invariant_regression_8586_inliner_min 29 (+1) +3.57%
loop_invariant_regression_8586_inliner_zero 29 (+1) +3.57%
conditional_1_inliner_min 478 (+15) +3.24%
conditional_1_inliner_zero 478 (+15) +3.24%
regression_5435_inliner_max 32 (+1) +3.23%
regression_5435_inliner_min 32 (+1) +3.23%
regression_5435_inliner_zero 32 (+1) +3.23%
regression_9193_inliner_max 33 (+1) +3.13%
regression_9193_inliner_min 33 (+1) +3.13%
regression_9193_inliner_zero 33 (+1) +3.13%
regression_4663_inliner_max 313 (+9) +2.96%
regression_4663_inliner_zero 313 (+9) +2.96%
regression_8874_inliner_max 35 (+1) +2.94%
regression_unsafe_no_predicates_inliner_max 35 (+1) +2.94%
regression_8874_inliner_min 35 (+1) +2.94%
regression_unsafe_no_predicates_inliner_min 35 (+1) +2.94%
regression_unsafe_no_predicates_inliner_zero 35 (+1) +2.94%
regression_8874_inliner_zero 35 (+1) +2.94%
regression_7836_inliner_max 48 (+1) +2.13%
regression_7836_inliner_min 48 (+1) +2.13%
regression_7836_inliner_zero 48 (+1) +2.13%
hashmap_inliner_zero 8,130 (+154) +1.93%
regression_9971_inliner_max 111 (+2) +1.83%
regression_9971_inliner_min 111 (+2) +1.83%
regression_9971_inliner_zero 111 (+2) +1.83%
poseidon_bn254_hash_width_3_inliner_max 4,913 (+82) +1.70%
higher_order_functions_inliner_max 548 (+8) +1.48%
reference_counts_inliner_max_inliner_max 755 (+11) +1.48%
reference_counts_inliner_0_inliner_max 767 (+11) +1.46%
reference_counts_inliner_min_inliner_max 767 (+11) +1.46%
reference_counts_slices_inliner_0_inliner_max 840 (+11) +1.33%
conditional_regression_421_inliner_max 84 (+1) +1.20%
conditional_regression_421_inliner_min 84 (+1) +1.20%
conditional_regression_421_inliner_zero 84 (+1) +1.20%
hashmap_inliner_min 9,000 (+106) +1.19%
regression_5045_inliner_max 89 (+1) +1.14%
regression_5045_inliner_zero 89 (+1) +1.14%
regression_7612_inliner_max 99 (+1) +1.02%
regression_7612_inliner_min 99 (+1) +1.02%
regression_7612_inliner_zero 99 (+1) +1.02%
bench_2_to_17_inliner_min 309 (+3) +0.98%
fold_2_to_17_inliner_zero 318 (+3) +0.95%
loop_invariant_regression_inliner_max 218 (+2) +0.93%
loop_invariant_regression_inliner_zero 218 (+2) +0.93%
fold_2_to_17_inliner_min 330 (+3) +0.92%
a_6_array_inliner_max 344 (+3) +0.88%
a_6_array_inliner_min 344 (+3) +0.88%
a_6_array_inliner_zero 344 (+3) +0.88%
regression_6285_inliner_max 130 (+1) +0.78%
regression_6285_inliner_min 130 (+1) +0.78%
regression_6285_inliner_zero 130 (+1) +0.78%
regression_5045_inliner_min 134 (+1) +0.75%
loop_invariant_regression_inliner_min 282 (+2) +0.71%
brillig_rc_regression_6123_inliner_min 159 (+1) +0.63%
uhashmap_inliner_zero 6,959 (+38) +0.55%
uhashmap_inliner_min 7,219 (+34) +0.47%
bench_2_to_17_inliner_zero 252 (+1) +0.40%
ecdsa_secp256k1_invalid_pub_key_in_inactive_branch_inliner_max 255 (+1) +0.39%
ecdsa_secp256r1_invalid_pub_key_in_inactive_branch_inliner_max 255 (+1) +0.39%
ecdsa_secp256k1_invalid_pub_key_in_inactive_branch_inliner_min 255 (+1) +0.39%
ecdsa_secp256r1_invalid_pub_key_in_inactive_branch_inliner_min 255 (+1) +0.39%
ecdsa_secp256k1_invalid_pub_key_in_inactive_branch_inliner_zero 255 (+1) +0.39%
ecdsa_secp256r1_invalid_pub_key_in_inactive_branch_inliner_zero 255 (+1) +0.39%
array_dedup_regression_inliner_max 258 (+1) +0.39%
array_dedup_regression_inliner_min 258 (+1) +0.39%
array_dedup_regression_inliner_zero 258 (+1) +0.39%
regression_4709_inliner_max 133,716 (-2) -0.00%
regression_4709_inliner_min 133,716 (-2) -0.00%
regression_4709_inliner_zero 133,716 (-2) -0.00%
debug_logs_inliner_min 6,003 (-2) -0.03%
debug_logs_inliner_zero 6,003 (-2) -0.03%
debug_logs_inliner_max 5,802 (-2) -0.03%
lambda_from_array_inliner_max 4,006 (-2) -0.05%
lambda_from_array_inliner_min 4,006 (-2) -0.05%
lambda_from_array_inliner_zero 4,006 (-2) -0.05%
reference_counts_slices_inliner_0_inliner_min 1,255 (-2) -0.16%
fold_numeric_generic_poseidon_inliner_min 558 (-1) -0.18%
no_predicates_numeric_generic_poseidon_inliner_min 558 (-1) -0.18%
reference_counts_inliner_min_inliner_min 1,033 (-2) -0.19%
reference_counts_inliner_0_inliner_min 1,033 (-2) -0.19%
reference_counts_inliner_max_inliner_min 1,026 (-2) -0.19%
poseidonsponge_x5_254_inliner_max 3,666 (-8) -0.22%
poseidon_bn254_hash_width_3_inliner_zero 4,408 (-13) -0.29%
regression_6674_2_inliner_min 257 (-1) -0.39%
regression_6674_1_inliner_min 235 (-1) -0.42%
strings_inliner_min 966 (-6) -0.62%
regression_1144_1169_2399_6609_inliner_min 993 (-7) -0.70%
array_to_slice_inliner_min 841 (-6) -0.71%
derive_inliner_zero 280 (-2) -0.71%
array_sort_inliner_max 403 (-3) -0.74%
array_sort_inliner_zero 403 (-3) -0.74%
regression_5252_inliner_min 3,323 (-26) -0.78%
strings_inliner_zero 877 (-7) -0.79%
brillig_calls_conditionals_inliner_min 124 (-1) -0.80%
brillig_calls_conditionals_inliner_zero 124 (-1) -0.80%
array_sort_inliner_min 459 (-4) -0.86%
side_effects_constrain_array_inliner_min 114 (-1) -0.87%
side_effects_constrain_array_inliner_zero 114 (-1) -0.87%
array_dynamic_nested_blackbox_input_inliner_min 326 (-3) -0.91%
brillig_cow_inliner_min 325 (-3) -0.91%
binary_operator_overloading_inliner_min 211 (-2) -0.94%
binary_operator_overloading_inliner_zero 211 (-2) -0.94%
poseidonsponge_x5_254_inliner_min 2,974 (-29) -0.97%
nested_array_in_slice_inliner_min 809 (-8) -0.98%
nested_array_in_slice_inliner_zero 809 (-8) -0.98%
regression_1144_1169_2399_6609_inliner_max 888 (-9) -1.00%
regression_1144_1169_2399_6609_inliner_zero 888 (-9) -1.00%
nested_array_dynamic_inliner_min 1,318 (-14) -1.05%
nested_array_dynamic_inliner_zero 1,318 (-14) -1.05%
regression_5252_inliner_zero 3,188 (-35) -1.09%
regression_6674_3_inliner_min 632 (-7) -1.10%
regression_9496_inliner_max 539 (-6) -1.10%
regression_9496_inliner_min 539 (-6) -1.10%
regression_9496_inliner_zero 539 (-6) -1.10%
poseidonsponge_x5_254_inliner_zero 2,850 (-32) -1.11%
wildcard_type_inliner_min 267 (-3) -1.11%
poseidon_bn254_hash_width_3_inliner_min 4,661 (-53) -1.12%
slice_regex_inliner_zero 1,643 (-19) -1.14%
wildcard_type_inliner_max 257 (-3) -1.15%
wildcard_type_inliner_zero 257 (-3) -1.15%
struct_inputs_inliner_min 240 (-3) -1.23%
struct_inputs_inliner_zero 240 (-3) -1.23%
brillig_cow_inliner_zero 238 (-3) -1.24%
array_dynamic_nested_blackbox_input_inliner_max 315 (-4) -1.25%
array_dynamic_nested_blackbox_input_inliner_zero 315 (-4) -1.25%
aes128_encrypt_inliner_min 377 (-5) -1.31%
conditional_regression_short_circuit_inliner_min 217 (-3) -1.36%
fold_numeric_generic_poseidon_inliner_zero 492 (-7) -1.40%
no_predicates_numeric_generic_poseidon_inliner_zero 492 (-7) -1.40%
array_if_cond_simple_inliner_max 124 (-2) -1.59%
array_if_cond_simple_inliner_min 124 (-2) -1.59%
array_if_cond_simple_inliner_zero 124 (-2) -1.59%
slice_dynamic_index_inliner_max 1,599 (-26) -1.60%
slice_dynamic_index_inliner_zero 1,599 (-26) -1.60%
aes128_encrypt_inliner_zero 367 (-6) -1.61%
fold_2_to_17_inliner_max 461 (-8) -1.71%
while_loop_break_regression_8521_inliner_max 172 (-3) -1.71%
while_loop_break_regression_8521_inliner_min 172 (-3) -1.71%
while_loop_break_regression_8521_inliner_zero 172 (-3) -1.71%
strings_inliner_max 886 (-16) -1.77%
regression_struct_array_conditional_inliner_max 387 (-7) -1.78%
regression_struct_array_conditional_inliner_min 387 (-7) -1.78%
regression_struct_array_conditional_inliner_zero 387 (-7) -1.78%
regression_capacity_tracker_inliner_max 211 (-4) -1.86%
regression_capacity_tracker_inliner_min 211 (-4) -1.86%
regression_capacity_tracker_inliner_zero 211 (-4) -1.86%
regression_mem_op_predicate_inliner_max 101 (-2) -1.94%
regression_mem_op_predicate_inliner_min 101 (-2) -1.94%
regression_mem_op_predicate_inliner_zero 101 (-2) -1.94%
conditional_regression_short_circuit_inliner_max 198 (-4) -1.98%
conditional_regression_short_circuit_inliner_zero 198 (-4) -1.98%
a_7_function_inliner_min 436 (-9) -2.02%
higher_order_functions_inliner_min 1,558 (-33) -2.07%
tuple_inputs_inliner_min 282 (-6) -2.08%
tuple_inputs_inliner_zero 282 (-6) -2.08%
a_6_inliner_min 139 (-3) -2.11%
side_effects_constrain_array_inliner_max 92 (-2) -2.13%
blake3_inliner_min 136 (-3) -2.16%
a_7_inliner_min 136 (-3) -2.16%
brillig_blake2s_inliner_min 136 (-3) -2.16%
slices_inliner_min 2,612 (-58) -2.17%
pedersen_commitment_inliner_max 174 (-4) -2.25%
pedersen_commitment_inliner_zero 174 (-4) -2.25%
function_ref_inliner_max 86 (-2) -2.27%
function_ref_inliner_min 86 (-2) -2.27%
function_ref_inliner_zero 86 (-2) -2.27%
array_dynamic_inliner_min 300 (-7) -2.28%
regression_10446_inliner_max 257 (-6) -2.28%
regression_10446_inliner_min 257 (-6) -2.28%
regression_10446_inliner_zero 257 (-6) -2.28%
a_7_function_inliner_zero 425 (-10) -2.30%
slice_regex_inliner_min 1,758 (-42) -2.33%
array_dynamic_inliner_max 290 (-7) -2.36%
array_dynamic_inliner_zero 290 (-7) -2.36%
slice_dynamic_insert_inliner_max 372 (-9) -2.36%
slice_dynamic_insert_inliner_zero 372 (-9) -2.36%
regression_9758_inliner_min 161 (-4) -2.42%
regression_9758_inliner_zero 161 (-4) -2.42%
loop_break_regression_8319_inliner_min 201 (-5) -2.43%
regression_8009_inliner_max 117 (-3) -2.50%
regression_8009_inliner_min 117 (-3) -2.50%
regression_8009_inliner_zero 117 (-3) -2.50%
slice_dynamic_insert_inliner_min 421 (-11) -2.55%
slices_inliner_zero 2,066 (-55) -2.59%
regression_9329_inliner_max 111 (-3) -2.63%
regression_9329_inliner_zero 111 (-3) -2.63%
pedersen_check_inliner_max 439 (-12) -2.66%
brillig_pedersen_inliner_max 439 (-12) -2.66%
no_predicates_numeric_generic_poseidon_inliner_max 601 (-17) -2.75%
fold_numeric_generic_poseidon_inliner_max 601 (-17) -2.75%
multi_scalar_mul_inliner_max 282 (-8) -2.76%
multi_scalar_mul_inliner_zero 282 (-8) -2.76%
aes128_encrypt_inliner_max 386 (-11) -2.77%
multi_scalar_mul_inliner_min 280 (-8) -2.78%
simple_shield_inliner_min 629 (-19) -2.93%
regression_4449_inliner_min 197 (-6) -2.96%
pedersen_check_inliner_min 425 (-13) -2.97%
brillig_pedersen_inliner_min 425 (-13) -2.97%
brillig_pedersen_inliner_zero 425 (-13) -2.97%
pedersen_check_inliner_zero 425 (-13) -2.97%
merkle_insert_inliner_zero 388 (-12) -3.00%
a_6_inliner_max 128 (-4) -3.03%
a_6_inliner_zero 128 (-4) -3.03%
blake3_inliner_max 125 (-4) -3.10%
a_7_inliner_max 125 (-4) -3.10%
brillig_blake2s_inliner_max 125 (-4) -3.10%
a_7_inliner_zero 125 (-4) -3.10%
brillig_blake2s_inliner_zero 125 (-4) -3.10%
blake3_inliner_zero 125 (-4) -3.10%
array_neq_inliner_min 93 (-3) -3.13%
global_nested_array_regression_9270_inliner_min 185 (-6) -3.14%
array_eq_inliner_min 91 (-3) -3.19%
struct_inputs_inliner_max 239 (-8) -3.24%
binary_operator_overloading_inliner_max 297 (-10) -3.26%
global_nested_array_regression_9270_inliner_max 177 (-6) -3.28%
global_nested_array_regression_9270_inliner_zero 177 (-6) -3.28%
pedersen_hash_inliner_min 279 (-10) -3.46%
merkle_insert_inliner_min 389 (-14) -3.47%
break_and_continue_inliner_max 54 (-2) -3.57%
break_and_continue_inliner_min 54 (-2) -3.57%
break_and_continue_inliner_zero 54 (-2) -3.57%
pedersen_hash_inliner_max 267 (-10) -3.61%
pedersen_hash_inliner_zero 267 (-10) -3.61%
regression_4449_inliner_max 186 (-7) -3.63%
regression_4449_inliner_zero 186 (-7) -3.63%
slice_dynamic_index_inliner_min 2,071 (-78) -3.63%
numeric_type_alias_inliner_min 447 (-17) -3.66%
to_le_bytes_inliner_min 129 (-5) -3.73%
merkle_insert_inliner_max 561 (-22) -3.77%
hint_black_box_inliner_min 304 (-12) -3.80%
higher_order_functions_inliner_zero 692 (-28) -3.89%
array_dynamic_blackbox_input_inliner_min 370 (-15) -3.90%
regression_9329_inliner_min 119 (-5) -4.03%
brillig_cow_assign_inliner_max 118 (-5) -4.07%
brillig_cow_assign_inliner_min 118 (-5) -4.07%
brillig_cow_assign_inliner_zero 118 (-5) -4.07%
conditional_2_inliner_min 139 (-6) -4.14%
simple_shield_inliner_max 704 (-31) -4.22%
hint_black_box_inliner_zero 293 (-13) -4.25%
brillig_cow_regression_inliner_max 1,162 (-52) -4.28%
brillig_cow_regression_inliner_zero 1,162 (-52) -4.28%
regression_8662_inliner_max 44 (-2) -4.35%
regression_8662_inliner_min 44 (-2) -4.35%
regression_8662_inliner_zero 44 (-2) -4.35%
array_dynamic_blackbox_input_inliner_max 348 (-16) -4.40%
array_dynamic_blackbox_input_inliner_zero 348 (-16) -4.40%
to_be_bytes_inliner_min 186 (-9) -4.62%
array_neq_inliner_max 82 (-4) -4.65%
array_neq_inliner_zero 82 (-4) -4.65%
brillig_calls_conditionals_inliner_max 122 (-6) -4.69%
array_eq_inliner_max 80 (-4) -4.76%
slice_loop_inliner_max 220 (-11) -4.76%
array_eq_inliner_zero 80 (-4) -4.76%
to_le_bytes_inliner_max 119 (-6) -4.80%
to_le_bytes_inliner_zero 119 (-6) -4.80%
bench_2_to_17_inliner_max 255 (-13) -4.85%
fold_complex_outputs_inliner_min 489 (-25) -4.86%
tuple_inputs_inliner_max 291 (-15) -4.90%
simple_shield_inliner_zero 600 (-31) -4.91%
regression_10170_inliner_max 454 (-24) -5.02%
regression_10170_inliner_min 454 (-24) -5.02%
regression_10170_inliner_zero 454 (-24) -5.02%
databus_two_calldata_inliner_max 181 (-10) -5.24%
databus_two_calldata_inliner_min 181 (-10) -5.24%
databus_two_calldata_inliner_zero 181 (-10) -5.24%
loop_inliner_min 107 (-6) -5.31%
to_be_bytes_inliner_max 176 (-10) -5.38%
to_be_bytes_inliner_zero 176 (-10) -5.38%
regression_9439_inliner_max 134 (-8) -5.63%
regression_9439_inliner_min 134 (-8) -5.63%
regression_9439_inliner_zero 134 (-8) -5.63%
regression_6674_1_inliner_max 209 (-13) -5.86%
regression_6674_2_inliner_max 209 (-13) -5.86%
slice_loop_inliner_min 274 (-18) -6.16%
regression_8011_inliner_min 85 (-6) -6.59%
hint_black_box_inliner_max 282 (-20) -6.62%
numeric_type_alias_inliner_max 310 (-23) -6.91%
numeric_type_alias_inliner_zero 310 (-23) -6.91%
brillig_cow_inliner_max 310 (-24) -7.19%
conditional_2_inliner_max 102 (-8) -7.27%
conditional_2_inliner_zero 102 (-8) -7.27%
array_to_slice_inliner_zero 618 (-49) -7.35%
regression_3607_inliner_max 50 (-4) -7.41%
regression_3607_inliner_min 50 (-4) -7.41%
regression_3607_inliner_zero 50 (-4) -7.41%
regression_9546_inliner_max 58 (-5) -7.94%
regression_9546_inliner_min 58 (-5) -7.94%
regression_9546_inliner_zero 58 (-5) -7.94%
nested_array_dynamic_inliner_max 1,467 (-139) -8.66%
brillig_cow_regression_inliner_min 1,119 (-115) -9.32%
regression_7128_inliner_max 99 (-11) -10.00%
generics_inliner_min 90 (-10) -10.00%
regression_7128_inliner_min 99 (-11) -10.00%
regression_7128_inliner_zero 99 (-11) -10.00%
conditional_regression_661_inliner_max 106 (-12) -10.17%
conditional_regression_661_inliner_min 106 (-12) -10.17%
conditional_regression_661_inliner_zero 106 (-12) -10.17%
slices_inliner_max 1,931 (-226) -10.48%
regression_8011_inliner_max 68 (-8) -10.53%
regression_8011_inliner_zero 68 (-8) -10.53%
generics_inliner_max 80 (-10) -11.11%
regression_6674_1_inliner_zero 168 (-21) -11.11%
regression_6674_2_inliner_zero 168 (-21) -11.11%
generics_inliner_zero 80 (-10) -11.11%
slice_regex_inliner_max 1,955 (-271) -12.17%
nested_array_in_slice_inliner_max 888 (-126) -12.43%
loop_break_regression_8319_inliner_max 40 (-6) -13.04%
loop_break_regression_8319_inliner_zero 40 (-6) -13.04%
regression_9725_2_inliner_min 93 (-15) -13.89%
regression_4202_inliner_max 91 (-15) -14.15%
regression_4202_inliner_min 91 (-15) -14.15%
regression_4202_inliner_zero 91 (-15) -14.15%
global_consts_inliner_min 169 (-32) -15.92%
negated_jmpif_condition_inliner_max 31 (-6) -16.22%
negated_jmpif_condition_inliner_min 31 (-6) -16.22%
negated_jmpif_condition_inliner_zero 31 (-6) -16.22%
global_consts_inliner_max 150 (-33) -18.03%
global_consts_inliner_zero 150 (-33) -18.03%
encrypted_log_regression_inliner_min 224 (-51) -18.55%
regression_9116_inliner_min 174 (-42) -19.44%
encrypted_log_regression_inliner_max 211 (-51) -19.47%
encrypted_log_regression_inliner_zero 211 (-51) -19.47%
regression_9116_inliner_max 163 (-43) -20.87%
regression_9116_inliner_zero 163 (-43) -20.87%
slice_loop_inliner_zero 220 (-62) -21.99%
regression_6674_3_inliner_max 367 (-114) -23.70%
regression_6674_3_inliner_zero 367 (-114) -23.70%
regression_8926_inliner_max 56 (-18) -24.32%
regression_8926_inliner_min 56 (-18) -24.32%
regression_8926_inliner_zero 56 (-18) -24.32%
array_to_slice_inliner_max 368 (-122) -24.90%
a_7_function_inliner_max 374 (-139) -27.10%
regression_9037_inliner_max 118 (-66) -35.87%
regression_9037_inliner_min 118 (-66) -35.87%
regression_9037_inliner_zero 118 (-66) -35.87%
regression_unused_nested_array_get_inliner_max 20 (-14) -41.18%
regression_unused_nested_array_get_inliner_min 20 (-14) -41.18%
regression_unused_nested_array_get_inliner_zero 20 (-14) -41.18%
regression_9907_inliner_max 65 (-56) -46.28%
regression_9907_inliner_zero 65 (-56) -46.28%
fold_complex_outputs_inliner_zero 223 (-220) -49.66%
regression_9907_inliner_min 65 (-67) -50.76%
loop_small_break_inliner_max 21 (-24) -53.33%
loop_small_break_inliner_min 21 (-24) -53.33%
loop_small_break_inliner_zero 21 (-24) -53.33%
regression_8975_inliner_max 22 (-32) -59.26%
regression_8975_inliner_zero 22 (-32) -59.26%
regression_9102_inliner_min 56 (-82) -59.42%
regression_9102_inliner_max 50 (-80) -61.54%
regression_8739_inliner_max 20 (-32) -61.54%
regression_9102_inliner_zero 50 (-80) -61.54%
regression_8755_inliner_max 22 (-42) -65.63%
regression_8755_inliner_zero 22 (-42) -65.63%
regression_8739_inliner_min 20 (-39) -66.10%
regression_8739_inliner_zero 20 (-39) -66.10%
fold_complex_outputs_inliner_max 142 (-277) -66.11%
regression_8755_inliner_min 22 (-51) -69.86%
regression_8975_inliner_min 22 (-70) -76.09%

Copy link
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 'Opcode count'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.10.

Benchmark suite Current: 5460856 Previous: 9238b70 Ratio
rollup-tx-merge 1685 opcodes 1485 opcodes 1.13

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

CC: @TomAFrench

Copy link
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 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 5460856 Previous: 9238b70 Ratio
rollup-tx-base-private 28.48 s 20.68 s 1.38

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

CC: @TomAFrench

Copy link
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 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 5460856 Previous: 9238b70 Ratio
test_report_zkpassport_noir-ecdsa_ 2 s 1 s 2
test_report_zkpassport_noir_rsa_ 2 s 1 s 2

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

CC: @TomAFrench

@jfecher
Copy link
Contributor Author

jfecher commented Nov 13, 2025

Looking at global_var_regression_entry_points, the culprit is that unrolling is failing to unroll the loops in brillig

Copy link
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 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 5460856 Previous: 9238b70 Ratio
rollup-block-root-single-tx 0.003 s 0.002 s 1.50

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

CC: @TomAFrench

Copy link
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 'Execution Memory'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 5460856 Previous: 9238b70 Ratio
rollup-checkpoint-root-single-block 12510 MB 1760 MB 7.11
rollup-checkpoint-root 12510 MB 1760 MB 7.11

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

CC: @TomAFrench

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