Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
1b8d3c8
Add -Pcases to jmh (#9982)
siladu Mar 6, 2026
8ede37b
Preserve caller-provided gas pricing in eth_simulateV1 results (#9972)
macfarla Mar 6, 2026
102461a
Fix edge cases for MOD variants (#9934)
daniellehrner Mar 6, 2026
cb92692
Removing memoize from the signature algorithm (#8619) (#9777)
mamoralesiob Mar 8, 2026
ca2d953
Benchmarking docs (#9998)
siladu Mar 9, 2026
ef20137
Disconnect reason (#9901)
pinges Mar 9, 2026
77028f1
Migrate JSR305 nullness annotations to JSpecify (#9995)
Apisapple Mar 9, 2026
df8849a
Fix flaky BundleSelectorPluginTest on slow CI runners (#9999)
macfarla Mar 9, 2026
9d73b53
Fix flaky BackwardSyncContextTest on slow CI runners (#10000)
macfarla Mar 9, 2026
304d3c8
potential fix for race condidion affecting ATs (#9929)
macfarla Mar 9, 2026
1f8da25
Use sha256 hardware implementation (#9924)
daniellehrner Mar 9, 2026
c47cde2
Log ENR URL at startup alongside enode URL (#10003)
usmansaleem Mar 9, 2026
f95939f
fix(metrics): prevent duplicate OTel callback registration (#9653) (#…
kkaur01 Mar 10, 2026
b7090f0
disable forest TraceJsonRpcHttpBySpecTest (#10005)
macfarla Mar 10, 2026
9887a56
Add config option for max blobs per block (#9983)
macfarla Mar 10, 2026
5218d76
Update GitHub repository references from hyperledger/besu to besu-eth…
jflo Mar 10, 2026
6d94b58
26.3.0-rc0 prep (#10017)
jflo Mar 10, 2026
8ac78cf
enable local gradle caching (#10008)
macfarla Mar 10, 2026
f922aa2
Use existing RLP methods in trie log prune batch files (#10009)
siladu Mar 11, 2026
de2a87d
Add compressed ECDH key agreement to SecurityModule (#10007)
usmansaleem Mar 11, 2026
8a3f79b
Delay chain download if no peers, and handle cancellation ex (#9979)
macfarla Mar 11, 2026
aeea9f6
Add ENR v5 bootnodes support for DiscV5 discovery (#9970)
usmansaleem Mar 11, 2026
76516a9
Remove Clique RPC APIs and remaining DSL test infrastructure (Phase 2…
fab-10 Mar 11, 2026
d414b9c
Implement EIP-7975: eth/70 - partial block receipt lists (#9910)
fab-10 Mar 11, 2026
d091417
Remove pre-eth/68 transaction announcement support and limit pooled t…
fab-10 Mar 11, 2026
b92544f
Fix addMod case in Modulus256 (#10001)
lu-pinto Mar 11, 2026
881471b
Use VarHandle in UInt256::fromBytesBE and uInt256::toBytesBE (#9976)
lu-pinto Mar 11, 2026
bc5e677
Update --bootnodes description and throw exception is mixed enode and…
Matilda-Clerke Mar 12, 2026
151ac57
Remove Peer Task System feature toggle from DownloadBodiesStep (#9952)
Matilda-Clerke Mar 12, 2026
8a948b4
Support IPv6 subnets in --net-restrict (#10028)
usmansaleem Mar 12, 2026
772c378
Implement `txpool_status` RPC method (#10002)
fab-10 Mar 12, 2026
93ca593
fix: add missing return for failed future in TransactionPool SaveRest…
sridhar-panigrahi Mar 12, 2026
63c17cb
Remove deprecation warning from `--block-txs-selection-max-time` stil…
fab-10 Mar 12, 2026
7bc858d
Change log level to debug (#10023)
pinges Mar 12, 2026
7191630
Throw RLPException that is handled correctly instead of IllegalArgume…
pinges Mar 12, 2026
342c490
remove invalid warning pre glamsterdam (#10049)
matkt Mar 16, 2026
d210ad4
Remove Clique block production and mining infrastructure (Phase 3) (#…
fab-10 Mar 16, 2026
2649a6b
fix: use block's own hash for balance lookup in eth_estimateGas (#10042)
sridhar-panigrahi Mar 16, 2026
9da5ccd
Amsterdam: EIP-8037: State Creation Gas Cost Increase (#9815)
daniellehrner Mar 16, 2026
ea02a8a
snap server - log enabled/disabled in config overview (#10039)
macfarla Mar 16, 2026
6af2fa2
fix: avoid TOCTOU race in eth_getBlockByNumber latestResult (#10051)
sridhar-panigrahi Mar 17, 2026
373d3f9
reduce number of scenarios tested (#10055)
macfarla Mar 17, 2026
ecaa3e5
PeerTaskValidation accept NO_RESULTS_RETURNED (#10056)
macfarla Mar 17, 2026
b1d5679
reduce the number of iterations (#10057)
macfarla Mar 17, 2026
79bc2a3
BySpecTests: run setup once instead of for each spec file (#10059)
macfarla Mar 17, 2026
01aa894
Fix eth_simulateV1 to accept both input and data fields with differen…
kkaur01 Mar 17, 2026
caa1bd2
logging improvements for breach of protocol for rlp (#10038)
macfarla Mar 17, 2026
93ff415
Plugin API: pass pending block header when creating selectors (#10034)
fab-10 Mar 17, 2026
7124710
Use cache locality to improve Shift opcodes (#9878)
ahamlat Mar 17, 2026
9bf59b5
refactor stateroot commiter (#9879)
matkt Mar 17, 2026
fccd0ea
Deprecate `--min-block-occupancy-ratio` for removal and make it noop …
fab-10 Mar 17, 2026
fc80747
Add max used gas to eth_simulateV1 (#10066)
macfarla Mar 18, 2026
2453042
fix: send slim account encoding in snap AccountRange responses (#9877)
macfarla Mar 18, 2026
c8d8b71
Fix typed receipt encoding in putSyncTransactionReceipts (#10044)
macfarla Mar 18, 2026
2377423
fix: add blockchain-head guard to handleBlockTimerExpiry (#10052)
Qian-Cheng-nju Mar 18, 2026
e16f172
Fix eth/69 receipt encoding for Frontier tx (#9900)
macfarla Mar 18, 2026
2ea5ad9
fallback to resync (#10019)
macfarla Mar 18, 2026
473613f
Revert tracer aggregator (#10068)
macfarla Mar 18, 2026
0d1e19c
Add tests for parallel block processing (optimistic and BAL) (#10010)
matkt Mar 18, 2026
aa9bdb2
report 10 slowest tests (#10063)
macfarla Mar 18, 2026
c7d95cc
reduce volume of chain data pruner test (#10062)
macfarla Mar 18, 2026
d943e08
EIP-8159: eth/71 - Block Access List Exchange (#9966)
mirgee Mar 18, 2026
34c63aa
Implement div sdiv with long limbs (#9923)
lu-pinto Mar 18, 2026
976a219
Bonsai archive seperate column families (#10058)
jframe Mar 19, 2026
57623ff
fix: prevent unsigned underflow in eth_feeHistory reward bounds (#10060)
sridhar-panigrahi Mar 19, 2026
42e2eef
Log block number/hash on receipts root mismatch for debugging (#10071)
macfarla Mar 19, 2026
3ecda3e
fix UInt256: Take result from addBack in mulSubOverflow (#10078)
lu-pinto Mar 20, 2026
8bb98c6
BlockchainUtilParameterizedTest - reduce key-pair generations (#10072)
macfarla Mar 20, 2026
4c96f47
minimize setup for BesuCommandTest (#10074)
macfarla Mar 21, 2026
87f5dd0
Defer Snappy decompression of P2P messages until worker thread proces…
pinges Mar 23, 2026
8282761
return -38015 when tx gas exceeds block gas limit (#10073)
kkaur01 Mar 23, 2026
e26e47e
Reduce memory usage of debug_trace* calls #9584 (#9938)
AliZDev-v0 Mar 23, 2026
d741455
Update Amsterdam to bal@v5.4.0 spec (#10075)
daniellehrner Mar 23, 2026
e124630
oversized code no longer charges state gas
daniellehrner Mar 18, 2026
9e31195
charge SSTORE regular gas before state gas per EIP-8037 ordering requ…
daniellehrner Mar 19, 2026
35d95e6
charge SELFDESTRUCT and CREATE regular gas before state gas per EIP-8…
daniellehrner Mar 19, 2026
d1293d8
spotless
daniellehrner Mar 23, 2026
6d8a0b4
Merge branch 'feat/bal_devenet_test_5.5.1' into bal-devnet-3
daniellehrner Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ assignees: ''
<!-- Have you done the following? -->
<!-- * read the Code of Conduct? By filing an Issue, you are expected to -->
<!-- comply with it, including treating everyone with respect: -->
<!-- https://github.com/hyperledger/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- https://github.com/besu-eth/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Reproduced the issue in the latest version of the software -->
<!-- * Read the debugging docs: https://besu.hyperledger.org/private-networks/how-to -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Ahyperledger/Besu -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Abesu-eth/besu -->

### Steps to Reproduce
1. [Step 1]
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ assignees: ''
<!-- Have you done the following? -->
<!-- * read the Code of Conduct? By filing an Issue, you are expected to -->
<!-- comply with it, including treating everyone with respect: -->
<!-- https://github.com/hyperledger/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Ahyperledger/Besu -->
<!-- https://github.com/besu-eth/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Abesu-eth/besu -->

### Description
As an [Actor], I want [feature] so that [why].
Expand Down
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ assignees: ''
- [ ] `git tag 24.4.0-RC1`
- [ ] `git push upstream 24.4.0-RC1`
- [ ] Sign-off with team; announce the tag in #besu-release in Discord
- [ ] Targeting this tag for the burn-in: https://github.com/hyperledger/besu/releases/tag/24.4.0-RC1
- [ ] Targeting this tag for the burn-in: https://github.com/besu-eth/besu/releases/tag/24.4.0-RC1
- [ ] Consensys staff start burn-in using this tag
- [ ] start a new burn-in fleet with comparison nodes from previous release
- [ ] update existing canaries and validators
Expand All @@ -34,18 +34,18 @@ assignees: ''
- [ ] `git checkout 24.4.0-RC1`
- [ ] `git tag 24.4.0`
- [ ] `git push upstream 24.4.0`
- [ ] Manually run https://github.com/hyperledger/besu/actions/workflows/draft-release.yml using `main` branch` and the FULL RELEASE tag name, i.e. `24.4.0`. Note, this workflow should always be run from `main` branch (hotfix tags will still be released even if they were created based on another branch)
- [ ] Manually run https://github.com/besu-eth/besu/actions/workflows/draft-release.yml using `main` branch` and the FULL RELEASE tag name, i.e. `24.4.0`. Note, this workflow should always be run from `main` branch (hotfix tags will still be released even if they were created based on another branch)
- publishes artefacts and version-specific docker tags but does not fully publish the GitHub release so subscribers are not yet notified
- [ ] Check all draft-release workflow jobs went green
- [ ] Check binary SHAs are correct on the release page
- [ ] Check artifacts exist in https://hyperledger.jfrog.io/ui/repos/tree/General/besu-maven
- [ ] Update release notes in the GitHub draft release, save draft and sign-off with team
- [ ] IMPORTANT: confirm the tag name is the ONLY text in the "Release title", otherwise it will break the Docker Promote workflow https://github.com/hyperledger/besu/actions/workflows/docker-promote.yml
- [ ] IMPORTANT: confirm the tag name is the ONLY text in the "Release title", otherwise it will break the Docker Promote workflow https://github.com/besu-eth/besu/actions/workflows/docker-promote.yml
- [ ] Publish draft release ensuring it is marked as latest release (if appropriate)
- this is now public and notifies subscribed users
- makes the release "latest" in github
- publishes the docker `latest` tag variants
- [ ] Verify https://github.com/hyperledger/besu/actions/workflows/docker-promote.yml went green
- [ ] Verify https://github.com/besu-eth/besu/actions/workflows/docker-promote.yml went green
- [ ] Create homebrew release PR using [update-version workflow](https://github.com/hyperledger/homebrew-besu/actions/workflows/update-version.yml)
- If the PR has not been automatically created, create the PR manually using the created branch `update-<version>`
- [ ] Verify homebrew release once the PR has merged using `brew tap hyperledger/besu && brew install besu` on MacOSX to verify latest version has been installed
Expand Down
4 changes: 2 additions & 2 deletions .github/issue_template.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<!-- Have you done the following? -->
<!-- * read the Code of Conduct? By filing an Issue, you are expected to -->
<!-- comply with it, including treating everyone with respect: -->
<!-- https://github.com/hyperledger/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Ahyperledger/Besu -->
<!-- https://github.com/besu-eth/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Abesu-eth/besu -->
<!-- * Considered using a specific template for submitting a Bug or Feature Request? -->


Expand Down
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

### Thanks for sending a pull request! Have you done the following?

- [ ] Checked out our [contribution guidelines](https://github.com/hyperledger/besu/blob/main/CONTRIBUTING.md)?
- [ ] Checked out our [contribution guidelines](https://github.com/besu-eth/besu/blob/main/CONTRIBUTING.md)?
- [ ] Considered documentation and added the `doc-change-required` label to this PR [if updates are required](https://wiki.hyperledger.org/display/BESU/Documentation).
- [ ] Considered the changelog and included an [update if required](https://wiki.hyperledger.org/display/BESU/Changelog).
- [ ] For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/acceptance-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
- name: List all acceptance tests
run: ./gradlew acceptanceTest --test-dry-run -Dorg.gradle.parallel=true -Dorg.gradle.caching=true
- name: Extract current test list
run: mkdir tmp; find . -type f -name TEST-*.xml | xargs -I{} bash -c "xmlstarlet sel -t -v '/testsuite/@name' '{}'; echo ' acceptanceTest'" | tee tmp/currentTests.list
run: mkdir tmp; find . -type f -name TEST-*.xml | xargs -I{} bash -c "xmlstarlet sel -t -v '/testsuite/testcase[1]/@classname' '{}'; echo ' acceptanceTest'" | tee tmp/currentTests.list
- name: Get acceptance test reports
uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d
continue-on-error: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bft-soak-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ on:
besu_repo:
required: false
type: string
description: 'Custom git repository to checkout branch from. Expected format: owner/repo (e.g., hyperledger/besu)'
description: 'Custom git repository to checkout branch from. Expected format: owner/repo (e.g., besu-eth/besu)'

env:
GRADLE_OPTS: "-Xmx6g -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true"
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/pre-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,11 @@ jobs:
uses: gradle/actions/setup-gradle@9e899d11ad247ec76be7a60bc1cf9d3abbb9e7f1
with:
cache-disabled: true
add-job-summary: on-failure
- name: List unit tests
run: ./gradlew test --test-dry-run -Dorg.gradle.parallel=true -Dorg.gradle.caching=true
- name: Extract current test list
run: mkdir tmp; find . -type f -name TEST-*.xml | xargs -I{} bash -c "xmlstarlet sel -t -v '/testsuite/@name' '{}'; echo '{}' | sed 's#\./\(.*\)/build/test-results/.*# \1#'" | tee tmp/currentTests.list
run: mkdir tmp; find . -type f -name TEST-*.xml | xargs -I{} bash -c "xmlstarlet sel -t -v '/testsuite/testcase[1]/@classname' '{}'; echo '{}' | sed 's#\./\(.*\)/build/test-results/.*# \1#'" | tee tmp/currentTests.list
- name: Get unit test reports
uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d
continue-on-error: true
Expand Down Expand Up @@ -177,3 +178,17 @@ jobs:
|| contains(needs.*.result, 'cancelled')
|| contains(needs.*.result, 'skipped')
}}
- name: Checkout Repo
if: always()
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ github.event.pull_request.head.sha || github.ref }}
- name: Download all unit test results
if: always()
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe
with:
pattern: unit-*-test-results
merge-multiple: true
- name: Report 10 slowest tests
if: always()
run: python3 .github/workflows/reportSlowestTests.sh 10
71 changes: 71 additions & 0 deletions .github/workflows/reportSlowestTests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/usr/bin/env python3
##
## Copyright contributors to Besu.
##
## Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
## the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
## an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
## specific language governing permissions and limitations under the License.
##
## SPDX-License-Identifier: Apache-2.0
##

import glob
import os
import sys
import xml.etree.ElementTree as ET

count = int(sys.argv[1]) if len(sys.argv) > 1 else 10
runner = sys.argv[2] if len(sys.argv) > 2 else None

results = []
total_tests = 0
for f in glob.glob('**/build/test-results/**/TEST-*.xml', recursive=True):
try:
tree = ET.parse(f)
except ET.ParseError:
continue
root = tree.getroot()
suites = root.findall('testsuite') if root.tag == 'testsuites' else [root]
for suite in suites:
name = suite.get('name')
time = suite.get('time')
if name and time:
try:
results.append((float(time), name))
total_tests += int(suite.get('tests', 0))
except ValueError:
pass

if not results:
sys.exit(0)

results.sort(reverse=True)
total_classes = len(results)

heading = f'{count} Slowest Test Classes (runner {runner})' if runner else f'{count} Slowest Test Classes'
summary_line = f'{total_tests:,} tests across {total_classes} classes'
lines = [
f'<details open>\n',
f'<summary><b>{heading}</b> — {summary_line}</summary>\n\n',
'| Rank | Class | Time |\n',
'|------|-------|------|\n',
]
for i, (t, name) in enumerate(results[:count], 1):
mins = int(t // 60)
secs = t % 60
time_str = f'{mins}m {secs:.0f}s' if mins else f'{secs:.1f}s'
short = name.split('.')[-1]
lines.append(f'| {i} | `{short}` | {time_str} |\n')
lines.append('\n</details>\n')

summary_path = os.environ.get('GITHUB_STEP_SUMMARY')
if summary_path:
with open(summary_path, 'a', encoding='utf-8') as f:
f.writelines(lines)
else:
sys.stdout.writelines(lines)
2 changes: 1 addition & 1 deletion .github/workflows/splitTestsByTime.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ SPLIT_COUNT=$4
SPLIT_INDEX=$5

# extract tests time from Junit XML reports
find "$REPORTS_DIR" -type f -name TEST-*.xml | xargs -I{} bash -c "xmlstarlet sel -t -v 'concat(sum(//testcase/@time), \" \", //testsuite/@name)' '{}'; echo '{}' | sed \"s#${REPORT_STRIP_PREFIX}/\(.*\)/${REPORT_STRIP_SUFFIX}.*# \1#\"" > tmp/timing.tsv
find "$REPORTS_DIR" -type f -name TEST-*.xml | xargs -I{} bash -c "xmlstarlet sel -t -v 'concat(sum(//testcase/@time), \" \", //testsuite/testcase[1]/@classname)' '{}'; echo '{}' | sed \"s#${REPORT_STRIP_PREFIX}/\(.*\)/${REPORT_STRIP_SUFFIX}.*# \1#\"" > tmp/timing.tsv

# Sort times in descending order
IFS=$'\n' sorted=($(sort -nr tmp/timing.tsv))
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update-test-reports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ on:

jobs:
syncTestReports:
if: github.repository == 'hyperledger/besu'
if: github.repository == 'besu-eth/besu'
runs-on: ubuntu-latest
steps:
- name: Get latest merge PR number
id: latest_merged_pr_number
run: echo "PULL_REQUEST_NUMBER=$(gh pr list --repo hyperledger/besu --base main --state merged --json "number,mergedAt" --search "sort:updated-desc" --jq 'max_by(.mergedAt)|.number')" >> "$GITHUB_OUTPUT"
run: echo "PULL_REQUEST_NUMBER=$(gh pr list --repo besu-eth/besu --base main --state merged --json "number,mergedAt" --search "sort:updated-desc" --jq 'max_by(.mergedAt)|.number')" >> "$GITHUB_OUTPUT"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get unit test reports from latest merged PR
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*.iml
*.launch
*.log
*.orig
.classpath
.claude
.DS_Store
Expand Down
9 changes: 5 additions & 4 deletions BENCHMARKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ Gradle won't rerun a task by default with no changes, so to run subsequent times

---

## 🎯 Filter Benchmarks by Name
## 🎯 Filter Benchmarks by Name and Case

To run a specific benchmark class, use the `-Pincludes` and/or `-Pexcludes` project properties:
To run a specific benchmark class, use the `-Pincludes` and/or `-Pexcludes` project properties. To filter by case name, use `-Pcases`:

```bash
./gradlew :ethereum:core:jmh -Pincludes=SomeBenchmark -Pexcludes=TransientStorage,BlockHash
./gradlew :ethereum:core:jmh -Pincludes=Mod -Pexcludes=Mul,Add,SMod -Pcases=MOD_256_128,MOD_256_192 --rerun-tasks
```

This uses a regex pattern so other kinds of regexes can be used.
Expand All @@ -62,7 +62,8 @@ To profile benchmarks with [Async Profiler](https://github.com/jvm-profiling-too
./gradlew :ethereum:core:jmh \
-Pincludes=SomeBenchmark \
-PasyncProfiler=/path/to/libasyncProfiler.so \
-PasyncProfilerOptions="output=flamegraph"
-PasyncProfilerOptions="output=flamegraph" \
--rerun-tasks
```

This will generate two html profiling files flame-cpu-forward.html and flame-cpu-reverse.html after the benchmark run.
Expand Down
Loading
Loading