fix(l1): only rebuild payload when mempool receives new transactions (Notify) #4014
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Benchmark LEVM vs REVM | |
| on: | |
| pull_request: | |
| branches: ["**"] | |
| paths: | |
| - "crates/vm/levm/**" | |
| - ".github/workflows/pr_perf_levm.yaml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| actions: write | |
| issues: write | |
| pull-requests: write | |
| env: | |
| # Work around frequent libgit2/submodule fetch flakiness in CI. | |
| CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
| CARGO_NET_RETRY: "10" | |
| jobs: | |
| benchmark-pr: | |
| name: Benchmark for PR | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Setup Rust Environment | |
| uses: ./.github/actions/setup-rust | |
| with: | |
| components: rustfmt, clippy | |
| - name: Build main benchmark | |
| run: | | |
| cd crates/vm/levm | |
| make build-revm-comparison | |
| - name: Upload main benchmark binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: pr-binary | |
| path: crates/vm/levm/target/release/benchmark | |
| benchmark-main: | |
| name: Benchmark for Main | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Setup Rust Environment | |
| uses: ./.github/actions/setup-rust | |
| with: | |
| components: rustfmt, clippy | |
| - name: Build main benchmark | |
| run: | | |
| cd crates/vm/levm | |
| make build-revm-comparison | |
| - name: Upload main benchmark binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: main-binary | |
| path: crates/vm/levm/target/release/benchmark | |
| combine-results: | |
| name: Combine Benchmark Results | |
| runs-on: ubuntu-latest | |
| needs: [benchmark-pr, benchmark-main] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install hyperfine | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: hyperfine@1.19 | |
| - name: Install solc | |
| uses: ./.github/actions/install-solc | |
| - name: Download PR binaries | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: pr-binary | |
| path: ./pr | |
| - name: Download main binaries | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: main-binary | |
| path: ./main | |
| - name: Run benchmarks | |
| run: | | |
| chmod +x ./main/benchmark | |
| chmod +x ./pr/benchmark | |
| cd crates/vm/levm | |
| make revm-comparison-ci | |
| bash ../../../.github/scripts/compare_levm_and_revm_benchmarks.sh | |
| - name: Find comment | |
| continue-on-error: true | |
| uses: peter-evans/find-comment@v3 | |
| id: fc | |
| with: | |
| issue-number: ${{ github.event.pull_request.number }} | |
| comment-author: "github-actions[bot]" | |
| body-includes: "Benchmark Results Comparison" | |
| - name: Create or update comment | |
| uses: peter-evans/create-or-update-comment@v4 | |
| with: | |
| comment-id: ${{ steps.fc.outputs.comment-id }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| issue-number: ${{ github.event.pull_request.number }} | |
| body-path: result.md | |
| edit-mode: replace |