Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] Optimize array set from get #8860

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

vezenovm
Copy link
Contributor

Testing out noir-lang/noir#6168

Copy link
Contributor

github-actions bot commented Sep 27, 2024

Changes to public function bytecode sizes

Generated at commit: 6c384fa6d70ff5ba860707b67702c309c91e59c3, compared to commit: 3e1c02efed2bc10b5f88f3017f9940eb68533510

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
EasyPrivateVoting::end_vote +58 ❌ +9.09%
InclusionProofs::test_nullifier_inclusion_from_public +12 ❌ +9.09%
NFT::set_admin +58 ❌ +9.08%
Token::set_admin +58 ❌ +9.08%
AvmTest::set_read_storage_single +52 ❌ +8.83%
Child::pub_inc_value +52 ❌ +7.68%
StaticChild::pub_inc_value +52 ❌ +7.68%
AvmTest::nullifier_exists +7 ❌ +7.53%
StaticChild::pub_illegal_inc_value +52 ❌ +7.45%
AvmTest::l1_to_l2_msg_exists +7 ❌ +7.45%
AvmTest::note_hash_exists +7 ❌ +7.45%
Child::pub_inc_value_internal +52 ❌ +7.40%
Token::_reduce_total_supply +58 ❌ +6.62%
DocsExample::initialize_public_immutable +52 ❌ +6.62%
DocsExample::initialize_shared_immutable +52 ❌ +6.62%
Lending::get_assets +53 ❌ +6.28%
AvmTest::assert_nullifier_exists +6 ❌ +6.12%
TokenBlacklist::_reduce_total_supply +53 ❌ +6.05%
AvmTest::emit_nullifier_and_check +6 ❌ +5.77%
InclusionProofs::push_nullifier_public +6 ❌ +5.50%
AvmTest::elliptic_curve_add_and_double +9 ❌ +5.26%
Token::mint_private +229 ❌ +5.24%
FeeJuice::set_portal +47 ❌ +4.62%
AvmTest::poseidon2_hash +62 ❌ +3.97%
TokenBlacklist::mint_private +232 ❌ +3.97%
AvmTest::set_storage_map +107 ❌ +3.82%
AvmTest::get_args_hash +62 ❌ +3.81%
CardGame::on_card_played +185 ❌ +3.23%
NFT::set_minter +61 ❌ +3.03%
Token::set_minter +56 ❌ +2.79%
PriceFeed::set_price +50 ❌ +2.76%
AvmTest::read_storage_map +50 ❌ +2.76%
PriceFeed::get_price +50 ❌ +2.69%
AvmTest::add_storage_map +110 ❌ +2.62%
FeeJuice::balance_of_public +50 ❌ +2.61%
StaticChild::public_dispatch +94 ❌ +2.56%
Token::assert_minter_and_mint +56 ❌ +2.29%
FeeJuice::check_balance +45 ❌ +2.07%
Lending::init +56 ❌ +2.03%
PriceFeed::public_dispatch +100 ❌ +2.03%
FeeJuice::public_dispatch +200 ❌ +2.03%
NFT::_store_point_in_transient_storage +6 ❌ +1.78%
EasyPrivateVoting::add_to_tally_public +59 ❌ +1.75%
CardGame::public_dispatch +465 ❌ +1.67%
FeeJuice::_increase_public_balance +53 ❌ +1.59%
EasyPrivateVoting::public_dispatch +123 ❌ +1.34%
DocsExample::public_dispatch +76 ❌ +1.31%
CardGame::on_cards_claimed +96 ❌ +1.28%
AvmInitializerTest::read_storage_immutable +6 ❌ +1.25%
NFT::public_get_symbol +6 ❌ +1.20%
TokenBridge::get_token +6 ❌ +1.20%
Token::get_admin +6 ❌ +1.20%
NFT::get_admin +6 ❌ +1.19%
NFT::public_get_name +6 ❌ +1.19%
Token::public_get_name +6 ❌ +1.19%
Token::public_get_symbol +6 ❌ +1.19%
Token::mint_public +62 ❌ +1.18%
TokenBridge::_assert_token_is_same +6 ❌ +1.16%
Token::public_get_decimals +6 ❌ +1.15%
TokenBridge::get_portal_address_public +6 ❌ +1.12%
TokenBlacklist::total_supply +6 ❌ +1.00%
Token::total_supply +6 ❌ +1.00%
Test::consume_message_from_arbitrary_sender_public +82 ❌ +0.95%
CardGame::start_game +61 ❌ +0.84%
NFT::_finish_transfer_to_public +14 ❌ +0.79%
NFT::is_minter +14 ❌ +0.75%
Token::is_minter +14 ❌ +0.75%
Auth::get_scheduled_authorized +14 ❌ +0.75%
TokenBlacklist::mint_public +71 ❌ +0.74%
AuthRegistry::consume +60 ❌ +0.73%
Test::consume_mint_public_message +97 ❌ +0.73%
Auth::set_authorized_delay +71 ❌ +0.72%
TokenBlacklist::balance_of_public +14 ❌ +0.72%
Token::balance_of_public +14 ❌ +0.72%
StatefulTest::increment_public_value +14 ❌ +0.71%
Auth::get_authorized +14 ❌ +0.71%
Auth::set_authorized +71 ❌ +0.70%
Auth::public_dispatch +206 ❌ +0.69%
Lending::get_asset +14 ❌ +0.68%
Auth::get_authorized_delay +14 ❌ +0.63%
InclusionProofs::public_dispatch +34 ❌ +0.60%
Lending::update_accumulator +76 ❌ +0.59%
AvmTest::sha256_hash +19 ❌ +0.54%
Test::public_dispatch +174 ❌ +0.53%
NFT::owner_of +17 ❌ +0.52%
TokenBlacklist::get_roles +17 ❌ +0.51%
TokenBlacklist::_increase_public_balance +17 ❌ +0.50%
Token::_increase_public_balance +17 ❌ +0.50%
Crowdfunding::_publish_donation_receipts +6 ❌ +0.47%
NFT::mint +23 ❌ +0.39%
AuthRegistry::public_dispatch +89 ❌ +0.38%
AvmInitializerTest::public_dispatch +12 ❌ +0.33%
Lending::get_position +20 ❌ +0.26%
TokenBlacklist::update_roles +38 ❌ +0.26%
AuthRegistry::set_authorized +6 ❌ +0.21%
AuthRegistry::_set_authorized +6 ❌ +0.20%
AuthRegistry::is_consumable +6 ❌ +0.20%
Crowdfunding::public_dispatch +15 ❌ +0.18%
Spam::public_spam +6 ❌ +0.18%
AuthRegistry::set_reject_all +3 ❌ +0.17%
StatefulTest::get_public_value +3 ❌ +0.16%
AuthRegistry::is_reject_all +3 ❌ +0.16%
Benchmarking::broadcast +3 ❌ +0.16%
StatefulTest::increment_public_value_no_init_check +3 ❌ +0.15%
Spam::public_dispatch +6 ❌ +0.13%
TokenBlacklist::constructor +19 ❌ +0.13%
CardGame::on_game_joined +3 ❌ +0.06%
Lending::_repay +4 ❌ +0.04%
AppSubscription::public_dispatch -3 ✅ -0.04%
Claim::public_dispatch -3 ✅ -0.05%
PrivateFPC::public_dispatch -3 ✅ -0.06%
Token::constructor -5 ✅ -0.06%
EasyPrivateVoting::constructor -3 ✅ -0.07%
NFT::constructor -5 ✅ -0.07%
Auth::constructor -3 ✅ -0.07%
FPC::constructor -3 ✅ -0.07%
Uniswap::constructor -3 ✅ -0.07%
PrivateFPC::constructor -3 ✅ -0.07%
TokenBlacklist::public_dispatch -142 ✅ -0.11%
AppSubscription::constructor -8 ✅ -0.13%
Crowdfunding::init -8 ✅ -0.16%
Claim::constructor -8 ✅ -0.18%
TokenBridge::constructor -8 ✅ -0.19%
AvmInitializerTest::constructor -6 ✅ -0.21%
InclusionProofs::constructor -8 ✅ -0.21%
Lending::_deposit -9 ✅ -0.36%
NFT::public_dispatch -364 ✅ -0.91%
AvmTest::bulk_testing -321 ✅ -1.00%
Token::public_dispatch -889 ✅ -1.33%
TokenBridge::claim_public -197 ✅ -1.33%
TokenBridge::public_dispatch -602 ✅ -1.87%
StatefulTest::public_dispatch -257 ✅ -2.05%
TokenBlacklist::shield -264 ✅ -2.23%
TokenBlacklist::transfer_public -430 ✅ -2.76%
Lending::_borrow -426 ✅ -2.78%
TokenBridge::exit_to_l1_public -227 ✅ -2.83%
Token::shield -260 ✅ -2.93%
Lending::public_dispatch -2,374 ✅ -3.03%
DocsExample::get_shared_immutable_constrained_public_indirect -14 ✅ -3.33%
Benchmarking::public_dispatch -234 ✅ -3.34%
AvmTest::public_dispatch -3,540 ✅ -3.78%
Lending::_withdraw -519 ✅ -3.89%
Uniswap::public_dispatch -1,310 ✅ -3.91%
TokenBlacklist::burn_public -447 ✅ -4.35%
Uniswap::_assert_token_is_same -22 ✅ -4.72%
Token::transfer_public -479 ✅ -4.92%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 -469 ✅ -5.00%
FPC::public_dispatch -648 ✅ -5.53%
Token::burn_public -438 ✅ -5.99%
Uniswap::swap_public -927 ✅ -6.05%
Benchmarking::increment_balance -242 ✅ -6.08%
StatefulTest::public_constructor -286 ✅ -6.27%
NFT::finalize_transfer_to_private -441 ✅ -7.15%
Child::public_dispatch -431 ✅ -7.84%
NFT::transfer_in_public -488 ✅ -8.78%
Parent::public_nested_static_call -429 ✅ -9.53%
Parent::public_dispatch -1,084 ✅ -9.61%
Child::set_value_with_two_nested_calls -79 ✅ -10.70%
StaticParent::public_dispatch -853 ✅ -10.97%
FPC::pay_refund -237 ✅ -14.27%
FPC::pay_refund_with_shielded_rebate -237 ✅ -15.43%
ImportTest::public_dispatch -350 ✅ -20.21%
AuthWitTest::public_dispatch -447 ✅ -20.31%
StaticParent::public_nested_static_call -299 ✅ -21.76%
FPC::prepare_fee -289 ✅ -22.39%
Lending::withdraw_public -289 ✅ -23.73%
Lending::borrow_public -289 ✅ -23.73%
Token::complete_refund -1,198 ✅ -25.22%
Lending::deposit_public -513 ✅ -25.30%
Lending::repay_public -513 ✅ -27.61%
Child::set_value_twice_with_nested_last -293 ✅ -31.85%
Child::set_value_twice_with_nested_first -350 ✅ -38.04%
TokenBridge::_call_mint_on_token -478 ✅ -38.27%
AvmTest::check_selector -76 ✅ -46.34%
Parent::public_static_call -457 ✅ -46.54%
StaticParent::public_static_call -457 ✅ -46.54%
Parent::pub_entry_point_twice -507 ✅ -48.33%
Parent::pub_entry_point -350 ✅ -48.75%
StaticParent::public_call -350 ✅ -48.75%
StaticParent::public_get_value_from_child -350 ✅ -49.37%
AvmTest::create_different_nullifier_in_nested_call -355 ✅ -51.08%
AvmTest::create_same_nullifier_in_nested_call -355 ✅ -51.90%
AuthWitTest::consume_public -457 ✅ -52.05%
ImportTest::pub_call_public_fn -355 ✅ -52.44%
AvmTest::nested_static_call_to_set_storage -355 ✅ -52.51%
AvmTest::get_function_selector -80 ✅ -53.69%
AvmTest::nested_call_to_add -489 ✅ -56.66%
AvmTest::nested_static_call_to_add -489 ✅ -56.66%
AvmTest::nested_call_to_add_with_gas -475 ✅ -56.68%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
EasyPrivateVoting::end_vote 696 (+58) +9.09%
InclusionProofs::test_nullifier_inclusion_from_public 144 (+12) +9.09%
NFT::set_admin 697 (+58) +9.08%
Token::set_admin 697 (+58) +9.08%
AvmTest::set_read_storage_single 641 (+52) +8.83%
Child::pub_inc_value 729 (+52) +7.68%
StaticChild::pub_inc_value 729 (+52) +7.68%
AvmTest::nullifier_exists 100 (+7) +7.53%
StaticChild::pub_illegal_inc_value 750 (+52) +7.45%
AvmTest::l1_to_l2_msg_exists 101 (+7) +7.45%
AvmTest::note_hash_exists 101 (+7) +7.45%
Child::pub_inc_value_internal 755 (+52) +7.40%
Token::_reduce_total_supply 934 (+58) +6.62%
DocsExample::initialize_public_immutable 838 (+52) +6.62%
DocsExample::initialize_shared_immutable 838 (+52) +6.62%
Lending::get_assets 897 (+53) +6.28%
AvmTest::assert_nullifier_exists 104 (+6) +6.12%
TokenBlacklist::_reduce_total_supply 929 (+53) +6.05%
AvmTest::emit_nullifier_and_check 110 (+6) +5.77%
InclusionProofs::push_nullifier_public 115 (+6) +5.50%
AvmTest::elliptic_curve_add_and_double 180 (+9) +5.26%
Token::mint_private 4,602 (+229) +5.24%
FeeJuice::set_portal 1,064 (+47) +4.62%
AvmTest::poseidon2_hash 1,625 (+62) +3.97%
TokenBlacklist::mint_private 6,081 (+232) +3.97%
AvmTest::set_storage_map 2,905 (+107) +3.82%
AvmTest::get_args_hash 1,691 (+62) +3.81%
CardGame::on_card_played 5,908 (+185) +3.23%
NFT::set_minter 2,071 (+61) +3.03%
Token::set_minter 2,066 (+56) +2.79%
PriceFeed::set_price 1,860 (+50) +2.76%
AvmTest::read_storage_map 1,864 (+50) +2.76%
PriceFeed::get_price 1,906 (+50) +2.69%
AvmTest::add_storage_map 4,313 (+110) +2.62%
FeeJuice::balance_of_public 1,967 (+50) +2.61%
StaticChild::public_dispatch 3,773 (+94) +2.56%
Token::assert_minter_and_mint 2,500 (+56) +2.29%
FeeJuice::check_balance 2,221 (+45) +2.07%
Lending::init 2,810 (+56) +2.03%
PriceFeed::public_dispatch 5,029 (+100) +2.03%
FeeJuice::public_dispatch 10,063 (+200) +2.03%
NFT::_store_point_in_transient_storage 343 (+6) +1.78%
EasyPrivateVoting::add_to_tally_public 3,432 (+59) +1.75%
CardGame::public_dispatch 28,287 (+465) +1.67%
FeeJuice::_increase_public_balance 3,389 (+53) +1.59%
EasyPrivateVoting::public_dispatch 9,313 (+123) +1.34%
DocsExample::public_dispatch 5,876 (+76) +1.31%
CardGame::on_cards_claimed 7,568 (+96) +1.28%
AvmInitializerTest::read_storage_immutable 485 (+6) +1.25%
NFT::public_get_symbol 506 (+6) +1.20%
TokenBridge::get_token 506 (+6) +1.20%
Token::get_admin 506 (+6) +1.20%
NFT::get_admin 511 (+6) +1.19%
NFT::public_get_name 511 (+6) +1.19%
Token::public_get_name 511 (+6) +1.19%
Token::public_get_symbol 511 (+6) +1.19%
Token::mint_public 5,298 (+62) +1.18%
TokenBridge::_assert_token_is_same 523 (+6) +1.16%
Token::public_get_decimals 526 (+6) +1.15%
TokenBridge::get_portal_address_public 543 (+6) +1.12%
TokenBlacklist::total_supply 608 (+6) +1.00%
Token::total_supply 608 (+6) +1.00%
Test::consume_message_from_arbitrary_sender_public 8,703 (+82) +0.95%
CardGame::start_game 7,343 (+61) +0.84%
NFT::_finish_transfer_to_public 1,789 (+14) +0.79%
NFT::is_minter 1,888 (+14) +0.75%
Token::is_minter 1,888 (+14) +0.75%
Auth::get_scheduled_authorized 1,893 (+14) +0.75%
TokenBlacklist::mint_public 9,653 (+71) +0.74%
AuthRegistry::consume 8,300 (+60) +0.73%
Test::consume_mint_public_message 13,458 (+97) +0.73%
Auth::set_authorized_delay 9,960 (+71) +0.72%
TokenBlacklist::balance_of_public 1,970 (+14) +0.72%
Token::balance_of_public 1,970 (+14) +0.72%
StatefulTest::increment_public_value 1,992 (+14) +0.71%
Auth::get_authorized 1,994 (+14) +0.71%
Auth::set_authorized 10,156 (+71) +0.70%
Auth::public_dispatch 30,021 (+206) +0.69%
Lending::get_asset 2,078 (+14) +0.68%
Auth::get_authorized_delay 2,219 (+14) +0.63%
InclusionProofs::public_dispatch 5,677 (+34) +0.60%
Lending::update_accumulator 12,859 (+76) +0.59%
AvmTest::sha256_hash 3,565 (+19) +0.54%
Test::public_dispatch 32,944 (+174) +0.53%
NFT::owner_of 3,284 (+17) +0.52%
TokenBlacklist::get_roles 3,353 (+17) +0.51%
TokenBlacklist::_increase_public_balance 3,387 (+17) +0.50%
Token::_increase_public_balance 3,387 (+17) +0.50%
Crowdfunding::_publish_donation_receipts 1,276 (+6) +0.47%
NFT::mint 5,948 (+23) +0.39%
AuthRegistry::public_dispatch 23,298 (+89) +0.38%
AvmInitializerTest::public_dispatch 3,683 (+12) +0.33%
Lending::get_position 7,616 (+20) +0.26%
TokenBlacklist::update_roles 14,608 (+38) +0.26%
AuthRegistry::set_authorized 2,927 (+6) +0.21%
AuthRegistry::_set_authorized 2,954 (+6) +0.20%
AuthRegistry::is_consumable 3,041 (+6) +0.20%
Crowdfunding::public_dispatch 8,210 (+15) +0.18%
Spam::public_spam 3,396 (+6) +0.18%
AuthRegistry::set_reject_all 1,729 (+3) +0.17%
StatefulTest::get_public_value 1,828 (+3) +0.16%
AuthRegistry::is_reject_all 1,838 (+3) +0.16%
Benchmarking::broadcast 1,878 (+3) +0.16%
StatefulTest::increment_public_value_no_init_check 1,947 (+3) +0.15%
Spam::public_dispatch 4,562 (+6) +0.13%
TokenBlacklist::constructor 14,764 (+19) +0.13%
CardGame::on_game_joined 4,767 (+3) +0.06%
Lending::_repay 9,362 (+4) +0.04%
AppSubscription::public_dispatch 8,037 (-3) -0.04%
Claim::public_dispatch 5,702 (-3) -0.05%
PrivateFPC::public_dispatch 5,241 (-3) -0.06%
Token::constructor 7,830 (-5) -0.06%
EasyPrivateVoting::constructor 4,437 (-3) -0.07%
NFT::constructor 7,341 (-5) -0.07%
Auth::constructor 4,182 (-3) -0.07%
FPC::constructor 4,160 (-3) -0.07%
Uniswap::constructor 4,160 (-3) -0.07%
PrivateFPC::constructor 4,091 (-3) -0.07%
TokenBlacklist::public_dispatch 130,688 (-142) -0.11%
AppSubscription::constructor 6,063 (-8) -0.13%
Crowdfunding::init 5,121 (-8) -0.16%
Claim::constructor 4,547 (-8) -0.18%
TokenBridge::constructor 4,224 (-8) -0.19%
AvmInitializerTest::constructor 2,871 (-6) -0.21%
InclusionProofs::constructor 3,757 (-8) -0.21%
Lending::_deposit 2,479 (-9) -0.36%
NFT::public_dispatch 39,497 (-364) -0.91%
AvmTest::bulk_testing 31,643 (-321) -1.00%
Token::public_dispatch 66,188 (-889) -1.33%
TokenBridge::claim_public 14,599 (-197) -1.33%
TokenBridge::public_dispatch 31,584 (-602) -1.87%
StatefulTest::public_dispatch 12,253 (-257) -2.05%
TokenBlacklist::shield 11,577 (-264) -2.23%
TokenBlacklist::transfer_public 15,132 (-430) -2.76%
Lending::_borrow 14,900 (-426) -2.78%
TokenBridge::exit_to_l1_public 7,808 (-227) -2.83%
Token::shield 8,617 (-260) -2.93%
Lending::public_dispatch 75,855 (-2,374) -3.03%
DocsExample::get_shared_immutable_constrained_public_indirect 407 (-14) -3.33%
Benchmarking::public_dispatch 6,781 (-234) -3.34%
AvmTest::public_dispatch 90,031 (-3,540) -3.78%
Lending::_withdraw 12,820 (-519) -3.89%
Uniswap::public_dispatch 32,160 (-1,310) -3.91%
TokenBlacklist::burn_public 9,830 (-447) -4.35%
Uniswap::_assert_token_is_same 444 (-22) -4.72%
Token::transfer_public 9,249 (-479) -4.92%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 8,918 (-469) -5.00%
FPC::public_dispatch 11,072 (-648) -5.53%
Token::burn_public 6,875 (-438) -5.99%
Uniswap::swap_public 14,389 (-927) -6.05%
Benchmarking::increment_balance 3,736 (-242) -6.08%
StatefulTest::public_constructor 4,272 (-286) -6.27%
NFT::finalize_transfer_to_private 5,725 (-441) -7.15%
Child::public_dispatch 5,063 (-431) -7.84%
NFT::transfer_in_public 5,071 (-488) -8.78%
Parent::public_nested_static_call 4,071 (-429) -9.53%
Parent::public_dispatch 10,192 (-1,084) -9.61%
Child::set_value_with_two_nested_calls 659 (-79) -10.70%
StaticParent::public_dispatch 6,921 (-853) -10.97%
FPC::pay_refund 1,424 (-237) -14.27%
FPC::pay_refund_with_shielded_rebate 1,299 (-237) -15.43%
ImportTest::public_dispatch 1,382 (-350) -20.21%
AuthWitTest::public_dispatch 1,754 (-447) -20.31%
StaticParent::public_nested_static_call 1,075 (-299) -21.76%
FPC::prepare_fee 1,002 (-289) -22.39%
Lending::withdraw_public 929 (-289) -23.73%
Lending::borrow_public 929 (-289) -23.73%
Token::complete_refund 3,552 (-1,198) -25.22%
Lending::deposit_public 1,515 (-513) -25.30%
Lending::repay_public 1,345 (-513) -27.61%
Child::set_value_twice_with_nested_last 627 (-293) -31.85%
Child::set_value_twice_with_nested_first 570 (-350) -38.04%
TokenBridge::_call_mint_on_token 771 (-478) -38.27%
AvmTest::check_selector 88 (-76) -46.34%
Parent::public_static_call 525 (-457) -46.54%
StaticParent::public_static_call 525 (-457) -46.54%
Parent::pub_entry_point_twice 542 (-507) -48.33%
Parent::pub_entry_point 368 (-350) -48.75%
StaticParent::public_call 368 (-350) -48.75%
StaticParent::public_get_value_from_child 359 (-350) -49.37%
AvmTest::create_different_nullifier_in_nested_call 340 (-355) -51.08%
AvmTest::create_same_nullifier_in_nested_call 329 (-355) -51.90%
AuthWitTest::consume_public 421 (-457) -52.05%
ImportTest::pub_call_public_fn 322 (-355) -52.44%
AvmTest::nested_static_call_to_set_storage 321 (-355) -52.51%
AvmTest::get_function_selector 69 (-80) -53.69%
AvmTest::nested_call_to_add 374 (-489) -56.66%
AvmTest::nested_static_call_to_add 374 (-489) -56.66%
AvmTest::nested_call_to_add_with_gas 363 (-475) -56.68%

@vezenovm vezenovm changed the title [DO NOT MERGE] Remove inc rc instructions when array is not mutably borrowed [DO NOT MERGE] Optimize array set from get Oct 2, 2024
@vezenovm
Copy link
Contributor Author

vezenovm commented Oct 2, 2024

Rather than opening a new PR, I'm going to re-use this one to test out isolated SSA changes.

Copy link
Contributor

github-actions bot commented Oct 2, 2024

Changes to circuit sizes

Generated at commit: 6c384fa6d70ff5ba860707b67702c309c91e59c3, compared to commit: 3e1c02efed2bc10b5f88f3017f9940eb68533510

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
public_kernel_merge_simulated 0 ➖ 0.00% +3,115 ❌ +19468.75%
public_kernel_inner_simulated 0 ➖ 0.00% +2,460 ❌ +15375.00%
private_kernel_tail_to_public_simulated 0 ➖ 0.00% +3,113 ❌ +14823.81%
private_kernel_init_simulated 0 ➖ 0.00% +1,956 ❌ +9314.29%
private_kernel_inner_simulated 0 ➖ 0.00% +1,956 ❌ +9314.29%
private_kernel_reset_simulated 0 ➖ 0.00% +1,956 ❌ +9314.29%
private_kernel_reset_simulated_4_4_4_4_4_4_4_4_1 0 ➖ 0.00% +1,956 ❌ +9314.29%
public_kernel_tail_simulated 0 ➖ 0.00% +652 ❌ +4075.00%
private_kernel_empty_simulated 0 ➖ 0.00% +650 ❌ +3095.24%
private_kernel_tail_simulated 0 ➖ 0.00% +650 ❌ +3095.24%
rollup_base_simulated 0 ➖ 0.00% +18 ❌ +112.50%
parity_base -3,282 ✅ -61.11% +21,115 ❌ +65.39%
private_kernel_tail +1 ❌ +0.02% +2,532 ❌ +28.01%
private_kernel_empty -1 ✅ -0.15% +643 ❌ +18.45%
private_kernel_tail_to_public +3 ❌ +0.01% +5,409 ❌ +13.69%
private_kernel_inner -91 ✅ -0.21% +4,477 ❌ +8.55%
rollup_block_root_empty -33 ✅ -26.19% +57 ❌ +1.95%
private_kernel_reset_4_4_4_4_4_4_4_4_1 +2 ❌ +0.01% +1,070 ❌ +1.44%
public_kernel_merge -44 ✅ -0.08% +14,191 ❌ +1.29%
rollup_block_root -2,222 ✅ -53.06% +31,448 ❌ +1.11%
parity_root -3,282 ✅ -60.79% +41,763 ❌ +1.11%
rollup_merge -2,190 ✅ -59.62% +20,257 ❌ +1.07%
private_kernel_reset +2 ❌ +0.00% +4,276 ❌ +0.91%
public_kernel_tail +748 ❌ +0.29% +11,456 ❌ +0.50%
public_kernel_inner -3 ✅ -0.00% +1,711 ❌ +0.33%
private_kernel_init -102 ✅ -0.41% -121 ✅ -0.37%
rollup_base -60,147 ✅ -12.45% -40,471 ✅ -1.21%
rollup_block_merge -22,677 ✅ -54.59% -30,608 ✅ -1.54%
rollup_root -22,677 ✅ -54.62% -30,624 ✅ -1.54%
empty_nested 0 ➖ +∞% -13 ✅ -61.90%
empty_nested_simulated 0 ➖ 0.00% -13 ✅ -61.90%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
public_kernel_merge_simulated 1 (0) 0.00% 3,131 (+3,115) +19468.75%
public_kernel_inner_simulated 1 (0) 0.00% 2,476 (+2,460) +15375.00%
private_kernel_tail_to_public_simulated 1 (0) 0.00% 3,134 (+3,113) +14823.81%
private_kernel_init_simulated 1 (0) 0.00% 1,977 (+1,956) +9314.29%
private_kernel_inner_simulated 1 (0) 0.00% 1,977 (+1,956) +9314.29%
private_kernel_reset_simulated 1 (0) 0.00% 1,977 (+1,956) +9314.29%
private_kernel_reset_simulated_4_4_4_4_4_4_4_4_1 1 (0) 0.00% 1,977 (+1,956) +9314.29%
public_kernel_tail_simulated 1 (0) 0.00% 668 (+652) +4075.00%
private_kernel_empty_simulated 1 (0) 0.00% 671 (+650) +3095.24%
private_kernel_tail_simulated 1 (0) 0.00% 671 (+650) +3095.24%
rollup_base_simulated 1 (0) 0.00% 34 (+18) +112.50%
parity_base 2,089 (-3,282) -61.11% 53,408 (+21,115) +65.39%
private_kernel_tail 4,745 (+1) +0.02% 11,573 (+2,532) +28.01%
private_kernel_empty 670 (-1) -0.15% 4,129 (+643) +18.45%
private_kernel_tail_to_public 29,831 (+3) +0.01% 44,919 (+5,409) +13.69%
private_kernel_inner 43,951 (-91) -0.21% 56,831 (+4,477) +8.55%
rollup_block_root_empty 93 (-33) -26.19% 2,980 (+57) +1.95%
private_kernel_reset_4_4_4_4_4_4_4_4_1 34,899 (+2) +0.01% 75,549 (+1,070) +1.44%
public_kernel_merge 53,488 (-44) -0.08% 1,117,793 (+14,191) +1.29%
rollup_block_root 1,966 (-2,222) -53.06% 2,868,779 (+31,448) +1.11%
parity_root 2,117 (-3,282) -60.79% 3,816,888 (+41,763) +1.11%
rollup_merge 1,483 (-2,190) -59.62% 1,916,503 (+20,257) +1.07%
private_kernel_reset 91,935 (+2) +0.00% 472,006 (+4,276) +0.91%
public_kernel_tail 259,172 (+748) +0.29% 2,281,716 (+11,456) +0.50%
public_kernel_inner 268,756 (-3) -0.00% 518,289 (+1,711) +0.33%
private_kernel_init 24,901 (-102) -0.41% 32,162 (-121) -0.37%
rollup_base 423,026 (-60,147) -12.45% 3,315,266 (-40,471) -1.21%
rollup_block_merge 18,860 (-22,677) -54.59% 1,952,775 (-30,608) -1.54%
rollup_root 18,844 (-22,677) -54.62% 1,952,743 (-30,624) -1.54%
empty_nested 0 (0) +∞% 8 (-13) -61.90%
empty_nested_simulated 1 (0) 0.00% 8 (-13) -61.90%

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.

1 participant