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

feat: add insturmentation to attestation and epoch quote mem pools #9055

Merged
merged 10 commits into from
Oct 9, 2024

Conversation

Maddiaa0
Copy link
Member

@Maddiaa0 Maddiaa0 commented Oct 7, 2024

Overview

Makes the txpool instrumentation generic over the txpool object, then enables metrics on pool contents for our other mempools

Copy link
Member Author

Maddiaa0 commented Oct 7, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Maddiaa0 and the rest of your teammates on Graphite Graphite

@Maddiaa0 Maddiaa0 changed the title feat: add insturmentation to other mem pools feat: add insturmentation to attestation and epoch quote mem pools Oct 7, 2024
@Maddiaa0 Maddiaa0 marked this pull request as ready for review October 8, 2024 18:02
@Maddiaa0 Maddiaa0 enabled auto-merge (squash) October 8, 2024 23:33
Copy link
Contributor

github-actions bot commented Oct 9, 2024

Changes to public function bytecode sizes

Generated at commit: 32d5c68a4200f5484e6b05910dd440112fbeabaa, compared to commit: 2dff976202022cc474fdcc67bdcd3bc72e61dc70

🧾 Summary (100% most significant diffs)

Program Bytecode size in bytes (+/-) %
InclusionProofs::test_nullifier_inclusion_from_public +12 ❌ +9.09%
AvmTest::nullifier_exists +7 ❌ +7.53%
AvmTest::l1_to_l2_msg_exists +7 ❌ +7.45%
AvmTest::note_hash_exists +7 ❌ +7.45%
AvmTest::assert_nullifier_exists +6 ❌ +6.12%
AvmTest::emit_nullifier_and_check +6 ❌ +5.77%
InclusionProofs::push_nullifier_public +6 ❌ +5.50%
NFT::_store_point_in_transient_storage +6 ❌ +1.78%
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::public_get_name +6 ❌ +1.19%
NFT::get_admin +6 ❌ +1.19%
Token::public_get_symbol +6 ❌ +1.19%
Token::public_get_name +6 ❌ +1.19%
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%
EasyPrivateVoting::end_vote +6 ❌ +0.94%
NFT::set_admin +6 ❌ +0.94%
Token::set_admin +6 ❌ +0.94%
Lending::get_assets +6 ❌ +0.71%
TokenBlacklist::_reduce_total_supply +6 ❌ +0.68%
Token::_reduce_total_supply +6 ❌ +0.68%
NFT::_finish_transfer_to_public +11 ❌ +0.62%
NFT::is_minter +11 ❌ +0.59%
Token::is_minter +11 ❌ +0.59%
Auth::get_scheduled_authorized +11 ❌ +0.59%
TokenBlacklist::balance_of_public +11 ❌ +0.56%
Token::balance_of_public +11 ❌ +0.56%
StatefulTest::increment_public_value +11 ❌ +0.56%
Auth::get_authorized +11 ❌ +0.56%
NFT::set_minter +11 ❌ +0.55%
Token::set_minter +11 ❌ +0.55%
Lending::get_asset +11 ❌ +0.53%
Auth::get_authorized_delay +11 ❌ +0.50%
Lending::withdraw_public +6 ❌ +0.49%
Lending::borrow_public +6 ❌ +0.49%
TokenBridge::_call_mint_on_token +6 ❌ +0.48%
Crowdfunding::_publish_donation_receipts +6 ❌ +0.47%
FPC::prepare_fee +6 ❌ +0.46%
Token::assert_minter_and_mint +11 ❌ +0.45%
InclusionProofs::public_dispatch +23 ❌ +0.41%
Lending::init +11 ❌ +0.40%
FPC::pay_refund_with_shielded_rebate +6 ❌ +0.39%
Lending::public_dispatch +298 ❌ +0.38%
FPC::pay_refund +6 ❌ +0.36%
NFT::owner_of +11 ❌ +0.34%
TokenBlacklist::get_roles +11 ❌ +0.33%
TokenBlacklist::_increase_public_balance +11 ❌ +0.33%
Token::_increase_public_balance +11 ❌ +0.33%
EasyPrivateVoting::add_to_tally_public +11 ❌ +0.33%
Lending::repay_public +6 ❌ +0.32%
AvmInitializerTest::public_dispatch +11 ❌ +0.30%
Lending::deposit_public +6 ❌ +0.30%
Lending::update_accumulator +35 ❌ +0.27%
Token::mint_private +11 ❌ +0.25%
Lending::_deposit +6 ❌ +0.24%
Uniswap::_assert_token_is_same +1 ❌ +0.21%
Token::mint_public +11 ❌ +0.21%
Lending::get_position +15 ❌ +0.20%
Test::consume_message_from_arbitrary_sender_public +17 ❌ +0.20%
TokenBlacklist::mint_private +11 ❌ +0.19%
NFT::mint +11 ❌ +0.19%
EasyPrivateVoting::public_dispatch +17 ❌ +0.18%
NFT::public_dispatch +72 ❌ +0.18%
NFT::finalize_transfer_to_private +11 ❌ +0.18%
Token::public_dispatch +108 ❌ +0.16%
FPC::public_dispatch +18 ❌ +0.15%
TokenBridge::public_dispatch +48 ❌ +0.15%
Crowdfunding::public_dispatch +11 ❌ +0.13%
Test::consume_mint_public_message +17 ❌ +0.13%
Token::complete_refund +6 ❌ +0.13%
TokenBridge::claim_public +18 ❌ +0.12%
Auth::public_dispatch +35 ❌ +0.12%
TokenBlacklist::mint_public +11 ❌ +0.11%
Auth::set_authorized_delay +11 ❌ +0.11%
Auth::set_authorized +11 ❌ +0.11%
NFT::transfer_in_public +6 ❌ +0.11%
Test::public_dispatch +29 ❌ +0.09%
Token::burn_public +6 ❌ +0.08%
TokenBlacklist::update_roles +11 ❌ +0.08%
TokenBridge::exit_to_l1_public +6 ❌ +0.07%
Token::shield +6 ❌ +0.07%
Lending::_repay +6 ❌ +0.06%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 +6 ❌ +0.06%
Token::transfer_public +6 ❌ +0.06%
TokenBlacklist::burn_public +6 ❌ +0.06%
Uniswap::public_dispatch +18 ❌ +0.05%
TokenBlacklist::shield +6 ❌ +0.05%
TokenBlacklist::public_dispatch +66 ❌ +0.05%
StatefulTest::public_dispatch +6 ❌ +0.05%
Lending::_withdraw +6 ❌ +0.04%
Uniswap::swap_public +6 ❌ +0.04%
Lending::_borrow +6 ❌ +0.04%
TokenBlacklist::transfer_public +6 ❌ +0.04%
AvmTest::public_dispatch +30 ❌ +0.03%

Full diff report 👇
Program Bytecode size in bytes (+/-) %
InclusionProofs::test_nullifier_inclusion_from_public 144 (+12) +9.09%
AvmTest::nullifier_exists 100 (+7) +7.53%
AvmTest::l1_to_l2_msg_exists 101 (+7) +7.45%
AvmTest::note_hash_exists 101 (+7) +7.45%
AvmTest::assert_nullifier_exists 104 (+6) +6.12%
AvmTest::emit_nullifier_and_check 110 (+6) +5.77%
InclusionProofs::push_nullifier_public 115 (+6) +5.50%
NFT::_store_point_in_transient_storage 343 (+6) +1.78%
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::public_get_name 511 (+6) +1.19%
NFT::get_admin 511 (+6) +1.19%
Token::public_get_symbol 511 (+6) +1.19%
Token::public_get_name 511 (+6) +1.19%
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%
EasyPrivateVoting::end_vote 644 (+6) +0.94%
NFT::set_admin 645 (+6) +0.94%
Token::set_admin 645 (+6) +0.94%
Lending::get_assets 850 (+6) +0.71%
TokenBlacklist::_reduce_total_supply 882 (+6) +0.68%
Token::_reduce_total_supply 882 (+6) +0.68%
NFT::_finish_transfer_to_public 1,786 (+11) +0.62%
NFT::is_minter 1,885 (+11) +0.59%
Token::is_minter 1,885 (+11) +0.59%
Auth::get_scheduled_authorized 1,890 (+11) +0.59%
TokenBlacklist::balance_of_public 1,967 (+11) +0.56%
Token::balance_of_public 1,967 (+11) +0.56%
StatefulTest::increment_public_value 1,989 (+11) +0.56%
Auth::get_authorized 1,991 (+11) +0.56%
NFT::set_minter 2,021 (+11) +0.55%
Token::set_minter 2,021 (+11) +0.55%
Lending::get_asset 2,075 (+11) +0.53%
Auth::get_authorized_delay 2,216 (+11) +0.50%
Lending::withdraw_public 1,224 (+6) +0.49%
Lending::borrow_public 1,224 (+6) +0.49%
TokenBridge::_call_mint_on_token 1,255 (+6) +0.48%
Crowdfunding::_publish_donation_receipts 1,276 (+6) +0.47%
FPC::prepare_fee 1,297 (+6) +0.46%
Token::assert_minter_and_mint 2,455 (+11) +0.45%
InclusionProofs::public_dispatch 5,666 (+23) +0.41%
Lending::init 2,765 (+11) +0.40%
FPC::pay_refund_with_shielded_rebate 1,542 (+6) +0.39%
Lending::public_dispatch 78,527 (+298) +0.38%
FPC::pay_refund 1,667 (+6) +0.36%
NFT::owner_of 3,278 (+11) +0.34%
TokenBlacklist::get_roles 3,347 (+11) +0.33%
TokenBlacklist::_increase_public_balance 3,381 (+11) +0.33%
Token::_increase_public_balance 3,381 (+11) +0.33%
EasyPrivateVoting::add_to_tally_public 3,384 (+11) +0.33%
Lending::repay_public 1,864 (+6) +0.32%
AvmInitializerTest::public_dispatch 3,682 (+11) +0.30%
Lending::deposit_public 2,034 (+6) +0.30%
Lending::update_accumulator 12,818 (+35) +0.27%
Token::mint_private 4,384 (+11) +0.25%
Lending::_deposit 2,494 (+6) +0.24%
Uniswap::_assert_token_is_same 467 (+1) +0.21%
Token::mint_public 5,247 (+11) +0.21%
Lending::get_position 7,611 (+15) +0.20%
Test::consume_message_from_arbitrary_sender_public 8,638 (+17) +0.20%
TokenBlacklist::mint_private 5,860 (+11) +0.19%
NFT::mint 5,936 (+11) +0.19%
EasyPrivateVoting::public_dispatch 9,207 (+17) +0.18%
NFT::public_dispatch 39,933 (+72) +0.18%
NFT::finalize_transfer_to_private 6,177 (+11) +0.18%
Token::public_dispatch 67,185 (+108) +0.16%
FPC::public_dispatch 11,738 (+18) +0.15%
TokenBridge::public_dispatch 32,234 (+48) +0.15%
Crowdfunding::public_dispatch 8,206 (+11) +0.13%
Test::consume_mint_public_message 13,378 (+17) +0.13%
Token::complete_refund 4,756 (+6) +0.13%
TokenBridge::claim_public 14,814 (+18) +0.12%
Auth::public_dispatch 29,850 (+35) +0.12%
TokenBlacklist::mint_public 9,593 (+11) +0.11%
Auth::set_authorized_delay 9,900 (+11) +0.11%
Auth::set_authorized 10,096 (+11) +0.11%
NFT::transfer_in_public 5,565 (+6) +0.11%
Test::public_dispatch 32,799 (+29) +0.09%
Token::burn_public 7,319 (+6) +0.08%
TokenBlacklist::update_roles 14,581 (+11) +0.08%
TokenBridge::exit_to_l1_public 8,041 (+6) +0.07%
Token::shield 8,883 (+6) +0.07%
Lending::_repay 9,364 (+6) +0.06%
Uniswap::_approve_bridge_and_exit_input_asset_to_L1 9,393 (+6) +0.06%
Token::transfer_public 9,734 (+6) +0.06%
TokenBlacklist::burn_public 10,283 (+6) +0.06%
Uniswap::public_dispatch 33,488 (+18) +0.05%
TokenBlacklist::shield 11,847 (+6) +0.05%
TokenBlacklist::public_dispatch 130,896 (+66) +0.05%
StatefulTest::public_dispatch 12,516 (+6) +0.05%
Lending::_withdraw 13,345 (+6) +0.04%
Uniswap::swap_public 15,322 (+6) +0.04%
Lending::_borrow 15,332 (+6) +0.04%
TokenBlacklist::transfer_public 15,568 (+6) +0.04%
AvmTest::public_dispatch 93,601 (+30) +0.03%

Copy link
Contributor

github-actions bot commented Oct 9, 2024

Changes to circuit sizes

Generated at commit: 32d5c68a4200f5484e6b05910dd440112fbeabaa, compared to commit: 2dff976202022cc474fdcc67bdcd3bc72e61dc70

🧾 Summary (100% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base +188,715 ❌ +39.06% +170,257 ❌ +5.07%
public_kernel_merge -42 ✅ -0.08% -42 ✅ -0.00%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
rollup_base 671,888 (+188,715) +39.06% 3,525,994 (+170,257) +5.07%
public_kernel_merge 53,490 (-42) -0.08% 1,103,560 (-42) -0.00%

@Maddiaa0 Maddiaa0 merged commit 7dfa295 into master Oct 9, 2024
50 checks passed
@Maddiaa0 Maddiaa0 deleted the md/p2p/instrument branch October 9, 2024 22:34
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