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: Reenable bench summary #6211

Merged
merged 7 commits into from
May 14, 2024
Merged

Conversation

spalladino
Copy link
Collaborator

Let's give this another shot...

@TomAFrench TomAFrench linked an issue May 3, 2024 that may be closed by this pull request
@spalladino
Copy link
Collaborator Author

Holding off for #6194 which will get awscli into the base build image.

@TomAFrench TomAFrench force-pushed the palla/reenable-bench-summary branch from 15ddbd8 to acd1a0b Compare May 10, 2024 11:35
@TomAFrench
Copy link
Member

@spalladino #6194 is now merged.

@TomAFrench
Copy link
Member

Dropping this for the time being, main issue at this point is that we're not setting the e2e_mode argument properly so the benchs aren't pushing to s3.

@AztecBot
Copy link
Collaborator

AztecBot commented May 10, 2024

Benchmark results

No base data found for comparison.

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 740 740 740
l1_rollup_calldata_gas 6,692 6,668 6,680
l1_rollup_execution_gas 586,824 586,800 586,812
l2_block_processing_time_in_ms 1,728 7,572 10,578
l2_block_building_time_in_ms 38,231 119,750 207,891
l2_block_rollup_simulation_time_in_ms 38,050 118,851 206,580
l2_block_public_tx_process_time_in_ms 14,374 47,220 90,451

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 20,287 28,641
node_database_size_in_bytes 22,913,104 39,460,944
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 circuit_witness_generation_time_in_ms circuit_proving_time_in_ms circuit_proof_size_in_bytes
private-kernel-init 142 16,771 33,734 N/A N/A N/A
private-kernel-inner 402 57,574 33,734 N/A N/A N/A
private-kernel-ordering 897 213,432 48,389 N/A N/A N/A
base-parity 11.5 128 64.0 292 5,386 2,208
root-parity 69.5 27,064 64.0 270 64,959 2,720
base-rollup 895 111,062 925 6,599 61,456 3,104
root-rollup 90.1 11,454 789 257 10,893 3,424
public-kernel-app-logic 149 60,985 51,719 300 814 65,312
public-kernel-tail 527 166,426 7,659 972 1,500 10,080
public-kernel-setup 133 60,985 51,719 323 762 65,312
public-kernel-teardown 145 60,985 51,719 312 871 65,312
merge-rollup 7.78 2,696 925 158 2,164 3,104

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 14.9 22.6 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.850 0.687 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 67.9 92.2 284 561 1,584 1,931 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.687 0.563 0.514 0.521 0.743 0.460 N/A
batch_insert_into_indexed_tree_20_depth_ms N/A N/A 83.0 144 409 802 2,232 2,892 N/A
batch_insert_into_indexed_tree_20_depth_hash_count N/A N/A 106 208 692 1,363 2,707 5,395 N/A
batch_insert_into_indexed_tree_20_depth_hash_ms N/A N/A 0.709 0.638 0.552 0.548 0.762 0.502 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 82.4
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 109
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.717

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 50,984 1,046,575

Transaction size based on fee payment method

| Metric | |
| - | |

Transaction processing duration by data writes.

Metric 0 new note hashes 1 new note hashes 2 new note hashes
tx_pxe_processing_time_ms 3,124 2,550 7,993
Metric 0 public data writes 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 736 1,117 1,148 2,095 1,507 2,921 1,233

@spalladino spalladino force-pushed the palla/reenable-bench-summary branch from e769de1 to 5a98ab9 Compare May 10, 2024 21:21
@spalladino spalladino marked this pull request as ready for review May 10, 2024 21:21
@spalladino spalladino requested a review from ludamad May 10, 2024 21:21
@spalladino
Copy link
Collaborator Author

We should be good to go now!

@spalladino spalladino force-pushed the palla/reenable-bench-summary branch from 5a98ab9 to eb0228c Compare May 10, 2024 22:32
@spalladino spalladino force-pushed the palla/reenable-bench-summary branch 8 times, most recently from 50997ff to 1a48c0b Compare May 14, 2024 12:15
@spalladino spalladino force-pushed the palla/reenable-bench-summary branch from 3308458 to d1ff1ed Compare May 14, 2024 14:41
@spalladino spalladino merged commit 713b243 into master May 14, 2024
92 checks passed
@spalladino spalladino deleted the palla/reenable-bench-summary branch May 14, 2024 15:35
@TomAFrench
Copy link
Member

Thanks for this @spalladino!

ludamad pushed a commit that referenced this pull request May 14, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.40.0</summary>

##
[0.40.0](aztec-package-v0.39.0...aztec-package-v0.40.0)
(2024-05-14)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.40.0</summary>

##
[0.40.0](barretenberg.js-v0.39.0...barretenberg.js-v0.40.0)
(2024-05-14)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.40.0</summary>

##
[0.40.0](aztec-packages-v0.39.0...aztec-packages-v0.40.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* debug logs for all
([#6392](#6392))

### Features

* Add wasmtime
([#6314](#6314))
([ea6ccdd](ea6ccdd))
* Debug logs for all
([#6392](#6392))
([10afa13](10afa13))
* Demonstrating use of nsk_app to check nullification
([#6362](#6362))
([ddf4461](ddf4461))
* Use gas estimation in aztecjs contract function interactions
([#6260](#6260))
([18192ac](18192ac))


### Miscellaneous

* Add more serialisation traits to protocol circuits
([#6385](#6385))
([97d5422](97d5422))
* **ci:** Bump timeout of prover-client-test
([#6394](#6394))
([d05cd07](d05cd07))
* Reenable bench summary
([#6211](#6211))
([713b243](713b243))
* **token-contract-tests:** Change intrinsic assertion messages
([#6386](#6386))
([aca81ae](aca81ae))
</details>

<details><summary>barretenberg: 0.40.0</summary>

##
[0.40.0](barretenberg-v0.39.0...barretenberg-v0.40.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* debug logs for all
([#6392](#6392))

### Features

* Debug logs for all
([#6392](#6392))
([10afa13](10afa13))


### Miscellaneous

* Add more serialisation traits to protocol circuits
([#6385](#6385))
([97d5422](97d5422))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request May 15, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.40.0</summary>

##
[0.40.0](AztecProtocol/aztec-packages@aztec-package-v0.39.0...aztec-package-v0.40.0)
(2024-05-14)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.40.0</summary>

##
[0.40.0](AztecProtocol/aztec-packages@barretenberg.js-v0.39.0...barretenberg.js-v0.40.0)
(2024-05-14)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.40.0</summary>

##
[0.40.0](AztecProtocol/aztec-packages@aztec-packages-v0.39.0...aztec-packages-v0.40.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* debug logs for all
([#6392](AztecProtocol/aztec-packages#6392))

### Features

* Add wasmtime
([#6314](AztecProtocol/aztec-packages#6314))
([ea6ccdd](AztecProtocol/aztec-packages@ea6ccdd))
* Debug logs for all
([#6392](AztecProtocol/aztec-packages#6392))
([10afa13](AztecProtocol/aztec-packages@10afa13))
* Demonstrating use of nsk_app to check nullification
([#6362](AztecProtocol/aztec-packages#6362))
([ddf4461](AztecProtocol/aztec-packages@ddf4461))
* Use gas estimation in aztecjs contract function interactions
([#6260](AztecProtocol/aztec-packages#6260))
([18192ac](AztecProtocol/aztec-packages@18192ac))


### Miscellaneous

* Add more serialisation traits to protocol circuits
([#6385](AztecProtocol/aztec-packages#6385))
([97d5422](AztecProtocol/aztec-packages@97d5422))
* **ci:** Bump timeout of prover-client-test
([#6394](AztecProtocol/aztec-packages#6394))
([d05cd07](AztecProtocol/aztec-packages@d05cd07))
* Reenable bench summary
([#6211](AztecProtocol/aztec-packages#6211))
([713b243](AztecProtocol/aztec-packages@713b243))
* **token-contract-tests:** Change intrinsic assertion messages
([#6386](AztecProtocol/aztec-packages#6386))
([aca81ae](AztecProtocol/aztec-packages@aca81ae))
</details>

<details><summary>barretenberg: 0.40.0</summary>

##
[0.40.0](AztecProtocol/aztec-packages@barretenberg-v0.39.0...barretenberg-v0.40.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* debug logs for all
([#6392](AztecProtocol/aztec-packages#6392))

### Features

* Debug logs for all
([#6392](AztecProtocol/aztec-packages#6392))
([10afa13](AztecProtocol/aztec-packages@10afa13))


### Miscellaneous

* Add more serialisation traits to protocol circuits
([#6385](AztecProtocol/aztec-packages#6385))
([97d5422](AztecProtocol/aztec-packages@97d5422))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
iakovenkos pushed a commit that referenced this pull request May 15, 2024
Let's give this another shot...
iakovenkos pushed a commit that referenced this pull request May 15, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.40.0</summary>

##
[0.40.0](aztec-package-v0.39.0...aztec-package-v0.40.0)
(2024-05-14)


### Miscellaneous

* **aztec-package:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg.js: 0.40.0</summary>

##
[0.40.0](barretenberg.js-v0.39.0...barretenberg.js-v0.40.0)
(2024-05-14)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>aztec-packages: 0.40.0</summary>

##
[0.40.0](aztec-packages-v0.39.0...aztec-packages-v0.40.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* debug logs for all
([#6392](#6392))

### Features

* Add wasmtime
([#6314](#6314))
([ea6ccdd](ea6ccdd))
* Debug logs for all
([#6392](#6392))
([10afa13](10afa13))
* Demonstrating use of nsk_app to check nullification
([#6362](#6362))
([ddf4461](ddf4461))
* Use gas estimation in aztecjs contract function interactions
([#6260](#6260))
([18192ac](18192ac))


### Miscellaneous

* Add more serialisation traits to protocol circuits
([#6385](#6385))
([97d5422](97d5422))
* **ci:** Bump timeout of prover-client-test
([#6394](#6394))
([d05cd07](d05cd07))
* Reenable bench summary
([#6211](#6211))
([713b243](713b243))
* **token-contract-tests:** Change intrinsic assertion messages
([#6386](#6386))
([aca81ae](aca81ae))
</details>

<details><summary>barretenberg: 0.40.0</summary>

##
[0.40.0](barretenberg-v0.39.0...barretenberg-v0.40.0)
(2024-05-14)


### ⚠ BREAKING CHANGES

* debug logs for all
([#6392](#6392))

### Features

* Debug logs for all
([#6392](#6392))
([10afa13](10afa13))


### Miscellaneous

* Add more serialisation traits to protocol circuits
([#6385](#6385))
([97d5422](97d5422))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

Re-enable bench-summary in CI
3 participants