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

chore: acir format cleanup #2779

Merged
merged 14 commits into from
Oct 11, 2023
Merged

chore: acir format cleanup #2779

merged 14 commits into from
Oct 11, 2023

Conversation

charlielye
Copy link
Contributor

@charlielye charlielye commented Oct 10, 2023

  • Refactor to remove redundancy in acir format (there used to be 4 copy pastes of 1 big function. shocking).
  • Remove composer_ as member var from acir composer for greater safety.
  • Fix a bug in the RAM constraint whereby setting invalid witness to true, hard baked a 0 constant into the pk causing subsequent runs to fail.

Base automatically changed from cl/bb_faster_init to master October 11, 2023 11:54
@AztecBot
Copy link
Collaborator

AztecBot commented Oct 11, 2023

Benchmark results

All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.

L2 block published to L1

Each column represents the number of txs on an L2 block published to L1.

Metric 8 txs 32 txs 128 txs
l1_rollup_calldata_size_in_bytes 45444 179588 716132
l1_rollup_calldata_gas 222948 867824 3448136
l1_rollup_execution_gas 842035 3594932 22203505
l2_block_processing_time_in_ms 1027 3903 15440
note_successful_decrypting_time_in_ms 326 997 3678
note_trial_decrypting_time_in_ms 29 106 138
l2_block_building_time_in_ms 8979 35885 150477
l2_block_rollup_simulation_time_in_ms 6674 26660 106188
l2_block_public_tx_process_time_in_ms 2265 9098 43819

L2 chain processing

Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric 10 blocks 20 blocks 30 blocks
node_history_sync_time_in_ms 31234 75943 135871
note_history_successful_decrypting_time_in_ms 4721 13054 19958
note_history_trial_decrypting_time_in_ms 147 241 269
node_database_size_in_bytes 1193018 3392072 2753980
pxe_database_size_in_bytes 54187 108338 162578

Circuits stats

Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit circuit_simulation_time_in_ms circuit_input_size_in_bytes circuit_output_size_in_bytes
private-kernel-init 57.421779141104295 56577 14745
private-kernel-ordering 30.162576687116566 20137 8089
base-rollup 869 631604 810
root-rollup 37.853658536585364 4072 1097
private-kernel-inner 52.14969135802469 72288 14745
public-kernel-private-input 51.70216049382716 37359 14745
public-kernel-non-first-iteration 30.73070987654321 37401 14745
merge-rollup 1.0426356589147288 2592 873

@charlielye charlielye enabled auto-merge (squash) October 11, 2023 14:05
@charlielye charlielye merged commit 5ea373f into master Oct 11, 2023
80 checks passed
@charlielye charlielye deleted the cl/acir_format_cleanup branch October 11, 2023 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants