aztec-packages
aztec-packages copied to clipboard
[DO NOT MERGE] Optimize array set from get
Testing out https://github.com/noir-lang/noir/pull/6168
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% |
Rather than opening a new PR, I'm going to re-use this one to test out isolated SSA changes.
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% |