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: Sync from noir #6036

Merged
merged 6 commits into from
Apr 26, 2024
Merged

feat: Sync from noir #6036

merged 6 commits into from
Apr 26, 2024

Conversation

AztecBot
Copy link
Collaborator

Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: Add #[inline(tag)] attribute and codegen (noir-lang/noir#4913)
chore: rework workspace structure for utils crates (noir-lang/noir#4886)
feat: add variable size sha256 (noir-lang/noir#4920)
chore: delete flake.lock (noir-lang/noir#4855)
chore: Add error conversion from InterpreterError (noir-lang/noir#4896)
chore: delete dead code (noir-lang/noir#4906)
END_COMMIT_OVERRIDE

AztecBot and others added 2 commits April 25, 2024 22:57
…ng/noir#4913)

chore: rework workspace structure for utils crates (noir-lang/noir#4886)
feat: add variable size sha256 (noir-lang/noir#4920)
chore: delete flake.lock (noir-lang/noir#4855)
chore: Add error conversion from `InterpreterError` (noir-lang/noir#4896)
chore: delete dead code (noir-lang/noir#4906)
@ludamad
Copy link
Collaborator

ludamad commented Apr 25, 2024

@TomAFrench I recreated, not sure how the last one got in without passing CI

@TomAFrench
Copy link
Member

Hmm, that's odd. Thanks for fixing this @ludamad

@AztecBot
Copy link
Collaborator Author

AztecBot commented Apr 26, 2024

Benchmark results

No metrics with a significant change found.

Detailed 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.

This benchmark source data is available in JSON format on S3 here.

L2 block published to L1

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

Metric 8 txs 32 txs 64 txs
l1_rollup_calldata_size_in_bytes 772 772 772
l1_rollup_calldata_gas 6,808 6,832 6,832
l1_rollup_execution_gas 587,289 587,313 587,313
l2_block_processing_time_in_ms 1,513 5,312 (-2%) 10,432 (-2%)
l2_block_building_time_in_ms 19,469 76,084 151,501
l2_block_rollup_simulation_time_in_ms 19,260 75,308 150,014
l2_block_public_tx_process_time_in_ms 8,864 34,947 69,662

L2 chain processing

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

Metric 5 blocks 10 blocks
node_history_sync_time_in_ms 16,174 (-1%) 30,764 (-1%)
node_database_size_in_bytes 20,729,936 37,376,080
pxe_database_size_in_bytes 29,868 59,425

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 163 (-1%) 47,763 32,254
private-kernel-inner 186 (-1%) 81,070 32,254
private-kernel-ordering 173 (-1%) 58,008 49,589
base-parity 9.24 128 64.0
root-parity 102 (+1%) 27,064 64.0
base-rollup 12,019 (-1%) 111,202 957
root-rollup 60.2 (-1%) 11,518 821
public-kernel-app-logic 1,603 (-1%) 62,569 26,341
public-kernel-tail 4,454 (-1%) 168,842 3,953
merge-rollup 3,123 (-2%) 2,760 957
public-kernel-teardown 134 (-2%) 62,569 34,895
public-kernel-setup 146 (-1%) 62,569 34,895

Tree insertion stats

The duration to insert a fixed batch of leaves into each tree type.

Metric 1 leaves 16 leaves 64 leaves 128 leaves 512 leaves 1024 leaves 2048 leaves 4096 leaves 32 leaves
batch_insert_into_append_only_tree_16_depth_ms 10.9 (-1%) 17.7 (-1%) N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_count 16.7 31.8 N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_16_depth_hash_ms 0.638 (-1%) 0.546 (-1%) N/A N/A N/A N/A N/A N/A N/A
batch_insert_into_append_only_tree_32_depth_ms N/A N/A 51.5 (-1%) 79.9 (-1%) 260 499 (-2%) 981 1,953 (+1%) N/A
batch_insert_into_append_only_tree_32_depth_hash_count N/A N/A 95.9 159 543 1,055 2,079 4,127 N/A
batch_insert_into_append_only_tree_32_depth_hash_ms N/A N/A 0.528 (-1%) 0.494 0.475 0.467 (-1%) 0.466 0.468 (+1%) N/A
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 60.4 (-1%) 119 (-1%) 374 733 (-2%) 1,455 2,907 N/A
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 105 208 692 1,363 2,707 5,395 N/A
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A 0.533 0.537 (-1%) 0.510 0.506 (-1%) 0.506 0.508 N/A
batch_insert_into_indexed_tree_40_depth_ms N/A N/A N/A N/A N/A N/A N/A N/A 66.4 (-1%)
batch_insert_into_indexed_tree_40_depth_hash_count N/A N/A N/A N/A N/A N/A N/A N/A 108
batch_insert_into_indexed_tree_40_depth_hash_ms N/A N/A N/A N/A N/A N/A N/A N/A 0.586 (-1%)

Miscellaneous

Transaction sizes based on how many contract classes are registered in the tx.

Metric 0 registered classes 1 registered classes
tx_size_in_bytes 51,687 537,196

Transaction size based on fee payment method

Metric native fee payment method fpc_public fee payment method fpc_private fee payment method
tx_with_fee_size_in_bytes 897 1,145 1,345

Transaction processing duration by data writes.

Metric 0 new note hashes 1 new note hashes 2 new note hashes
tx_pxe_processing_time_ms 1,305 (+1%) 917 (-1%) 3,569 (-4%)
Metric 1 public data writes 2 public data writes 3 public data writes 4 public data writes 5 public data writes 8 public data writes
tx_sequencer_processing_time_ms 885 801 (-1%) 1,446 (-2%) 941 (-1%) 2,220 (-2%) 1,123 (-2%)

* master:
  feat: Dynamic assertion payloads v2 (#5949)
  doc: Fix grammar error on avm spec
  refactor: `create_fixed_base_constraint` cleanup (#6047)
  feat: avm mem trace validation (#6025)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  chore: replace relative paths to noir-protocol-circuits
  git subrepo push --branch=master barretenberg
  fix(avm): Do not scale CALLDATACOPY base cost with size (#5879)
  fix: hotfix stopped instance terminate (#6037)
  chore: clean up stopped instances (#6030)
@TomAFrench TomAFrench enabled auto-merge (squash) April 26, 2024 13:25
@TomAFrench TomAFrench merged commit e615a83 into master Apr 26, 2024
63 of 64 checks passed
@TomAFrench TomAFrench deleted the sync-noir branch April 26, 2024 22:27
TomAFrench added a commit that referenced this pull request Apr 30, 2024
* master: (76 commits)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  chore: replace relative paths to noir-protocol-circuits
  git subrepo push --branch=master barretenberg
  fix: fix relation skipping for sumcheck (#6092)
  test: refactor public cross chain tests for speed (#6082)
  chore(docs): fix migration notes (#6083)
  feat: squashing transient note hashes and nullifiers (#6059)
  feat: configure prover as separate process (#5973)
  chore: remove l1 gas (#6069)
  feat(docs): Nuke CLI from docs (#5936)
  chore: refactor recursive verifier tests (#6063)
  fix: `test_native.sh` not running all noir tests (#6075)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  chore: replace relative paths to noir-protocol-circuits
  git subrepo push --branch=master barretenberg
  refactor: ProvingKey has ProverPolynomials (#5940)
  feat: Sync from noir (#6036)
  feat: naive structured execution trace (#5853)
  ...
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.

4 participants