Skip to content

ci: enable Ninja and sccache across test jobs#512

Merged
zoowii merged 7 commits into
DTVMStack:mainfrom
abmcar:ci/sccache-ninja-all
May 18, 2026
Merged

ci: enable Ninja and sccache across test jobs#512
zoowii merged 7 commits into
DTVMStack:mainfrom
abmcar:ci/sccache-ninja-all

Conversation

@abmcar
Copy link
Copy Markdown
Contributor

@abmcar abmcar commented May 16, 2026

Why

CI wall time is dominated by C++ compilation rather than dependency downloads. After the canary jobs showed stable Ninja+sccache behavior and green EVM/WASM checks, this PR rolls the setup out across the x86 test workflows and keeps perf-job sccache stats alive through long benchmark phases.

What

  • Enable Ninja and sccache globally for the EVM/WASM test workflows.
  • Route run_test_suite.sh CMake builds through the shared .ci/cmake_ci_build.sh helper, including evmone sub-builds.
  • Keep the perf baseline checkout path self-contained by passing Ninja and sccache launcher flags directly, because that step checks out base main.
  • Move FetchContent caches to a Ninja-specific key namespace.
  • Cache Hunter's /github/home/.hunter package directory for evmone unit/statetest/perf jobs.
  • Keep sccache server stats alive across long perf benchmarks with SCCACHE_IDLE_TIMEOUT=0.
  • Add compact sccache stats printing, including perf-only checkpoints after the DTVM build and before benchmark execution.

Local verification

  • bash -n .ci/cmake_ci_build.sh .ci/run_test_suite.sh
  • python3 -m py_compile .ci/print_sccache_stats.py
  • Ruby YAML parse for both edited workflows
  • git diff --check
  • PATH=/opt/llvm15/bin:$PATH ./tools/format.sh check
  • Representative DTVM_CI_DRY_RUN=1 command expansion shows -G Ninja and -DCMAKE_*_COMPILER_LAUNCHER=sccache when enabled, and preserves the default non-Ninja path when disabled.

CI validation

Latest pull_request runs for commit 98950bf8876eb44228d38dfc9a4cde4daad26e7b are green:

Observed warm-cache job times from the latest successful checks:

Job Time
WASM interpreter 2m12s
WASM singlepass 4m02s
WASM multipass 3m35s
WASM evmabi mock CLI 2m26s
EVM interpreter ctest 3m27s
EVM interpreter CLI 3m11s
EVM multipass release ctest 4m32s
EVM multipass debug 4m34s
EVM multipass gas register 4m38s
EVM evmtestsuite gas register ctest 4m38s
EVM JIT fallback ctest 4m49s
EVM evmone unit tests 6m01s
EVM evmone statetests 6m48s
Perf interpreter 28m21s
Perf multipass 32m21s

Perf sccache stats are now retained through the long benchmark phase:

Perf job After DTVM build Before benchmarks Final stats
interpreter 122 req / 122 hits / 0 misses 255 req / 202 hits / 53 misses 255 req / 202 hits / 53 misses
multipass 122 req / 106 hits / 16 misses 255 req / 239 hits / 16 misses 255 req / 239 hits / 16 misses

This confirms the previous compile_requests=0 in perf jobs was stats lifecycle/idle-timeout related, not a missing CMake compiler launcher. Perf jobs remain benchmark-dominated because each job still runs baseline and current benchmarks on the same runner.

Copilot AI review requested due to automatic review settings May 16, 2026 10:34
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reduces CI wall time by enabling Ninja + sccache across the x86 EVM/WASM test workflows, consolidating CI CMake invocation behind a shared helper script, and improving sccache stats visibility (including across long perf benchmark phases).

Changes:

  • Enable Ninja + sccache globally in the EVM/WASM x86 workflows and update FetchContent cache keys to be generator-namespaced.
  • Route CI CMake builds (including evmone sub-builds) through a new .ci/cmake_ci_build.sh helper.
  • Add sccache stats reporting via a new .ci/print_sccache_stats.py, with additional checkpoints for perf jobs.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/dtvm_wasm_test_x86.yml Enables Ninja+sccache for WASM jobs, updates FetchContent cache keys, and routes a build through the shared CMake helper.
.github/workflows/dtvm_evm_test_x86.yml Enables Ninja+sccache across EVM jobs, adds Hunter cache for evmone-related jobs, and updates perf baseline build flags to keep stats alive.
.ci/run_test_suite.sh Uses the shared CMake build helper, adds dry-run support for some steps, and prints sccache stats checkpoints + final stats via an EXIT trap.
.ci/print_sccache_stats.py New helper to print concise sccache stats (and optionally enforce that requests were observed).
.ci/cmake_ci_build.sh New shared CMake configure+build wrapper supporting Ninja/sccache toggles and dry-run output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .ci/print_sccache_stats.py Outdated
Comment thread .ci/cmake_ci_build.sh Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 16, 2026

⚡ Performance Regression Check Results

✅ Performance Check Passed (interpreter)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 2.59 2.60 +0.3% PASS
total/main/blake2b_huff/empty 0.04 0.04 +0.1% PASS
total/main/blake2b_shifts/8415nulls 20.72 20.71 -0.0% PASS
total/main/sha1_divs/5311 8.57 8.60 +0.3% PASS
total/main/sha1_divs/empty 0.11 0.11 +0.1% PASS
total/main/sha1_shifts/5311 6.37 6.37 +0.0% PASS
total/main/sha1_shifts/empty 0.08 0.08 +0.2% PASS
total/main/snailtracer/benchmark 75.29 75.47 +0.2% PASS
total/main/structarray_alloc/nfts_rank 1.39 1.39 -0.0% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +0.2% PASS
total/main/swap_math/received 0.01 0.01 +0.2% PASS
total/main/swap_math/spent 0.01 0.01 -0.0% PASS
total/main/weierstrudel/1 0.29 0.29 +0.3% PASS
total/main/weierstrudel/15 3.22 3.22 -0.2% PASS
total/micro/JUMPDEST_n0/empty 2.85 2.85 +0.0% PASS
total/micro/jump_around/empty 0.09 0.09 -1.5% PASS
total/micro/loop_with_many_jumpdests/empty 43.49 43.54 +0.1% PASS
total/micro/memory_grow_mload/by1 0.13 0.13 -2.7% PASS
total/micro/memory_grow_mload/by16 0.14 0.13 -2.3% PASS
total/micro/memory_grow_mload/by32 0.15 0.15 -0.4% PASS
total/micro/memory_grow_mload/nogrow 0.13 0.12 -3.0% PASS
total/micro/memory_grow_mstore/by1 0.12 0.13 +2.6% PASS
total/micro/memory_grow_mstore/by16 0.13 0.13 +0.2% PASS
total/micro/memory_grow_mstore/by32 0.15 0.15 +0.1% PASS
total/micro/memory_grow_mstore/nogrow 0.12 0.12 +2.8% PASS
total/micro/signextend/one 0.28 0.28 +0.4% PASS
total/micro/signextend/zero 0.28 0.28 +0.6% PASS
total/synth/ADD/b0 3.19 3.19 +0.0% PASS
total/synth/ADD/b1 3.58 3.59 +0.3% PASS
total/synth/ADDRESS/a0 4.88 4.88 -0.0% PASS
total/synth/ADDRESS/a1 5.35 5.36 +0.3% PASS
total/synth/AND/b0 3.11 3.11 -0.0% PASS
total/synth/AND/b1 3.49 3.50 +0.3% PASS
total/synth/BYTE/b0 6.19 6.19 +0.0% PASS
total/synth/BYTE/b1 5.13 5.14 +0.3% PASS
total/synth/CALLDATASIZE/a0 3.51 3.51 -0.0% PASS
total/synth/CALLDATASIZE/a1 3.56 3.34 -6.3% PASS
total/synth/CALLER/a0 4.81 4.81 -0.0% PASS
total/synth/CALLER/a1 5.33 5.34 +0.3% PASS
total/synth/CALLVALUE/a0 3.75 3.76 +0.1% PASS
total/synth/CALLVALUE/a1 3.77 3.77 +0.1% PASS
total/synth/CODESIZE/a0 3.99 4.00 +0.3% PASS
total/synth/CODESIZE/a1 4.01 4.02 +0.4% PASS
total/synth/DUP1/d0 1.39 1.15 -17.4% PASS
total/synth/DUP1/d1 1.76 1.76 -0.1% PASS
total/synth/DUP10/d0 1.39 1.39 +0.0% PASS
total/synth/DUP10/d1 1.74 1.74 -0.2% PASS
total/synth/DUP11/d0 1.39 1.39 +0.0% PASS
total/synth/DUP11/d1 1.74 1.74 +0.0% PASS
total/synth/DUP12/d0 1.39 1.39 -0.0% PASS
total/synth/DUP12/d1 1.74 1.74 -0.0% PASS
total/synth/DUP13/d0 1.39 1.16 -16.9% PASS
total/synth/DUP13/d1 1.74 1.74 +0.1% PASS
total/synth/DUP14/d0 1.39 1.16 -16.9% PASS
total/synth/DUP14/d1 1.74 1.50 -13.6% PASS
total/synth/DUP15/d0 1.39 1.39 -0.1% PASS
total/synth/DUP15/d1 1.74 1.74 +0.2% PASS
total/synth/DUP16/d0 1.39 1.16 -17.0% PASS
total/synth/DUP16/d1 1.74 1.74 -0.2% PASS
total/synth/DUP2/d0 1.39 1.39 +0.0% PASS
total/synth/DUP2/d1 1.74 1.74 +0.0% PASS
total/synth/DUP3/d0 1.39 1.40 +0.4% PASS
total/synth/DUP3/d1 1.74 1.74 +0.1% PASS
total/synth/DUP4/d0 1.39 1.39 -0.1% PASS
total/synth/DUP4/d1 1.74 1.50 -13.7% PASS
total/synth/DUP5/d0 1.39 1.15 -17.3% PASS
total/synth/DUP5/d1 1.74 1.74 -0.2% PASS
total/synth/DUP6/d0 1.39 1.39 +0.2% PASS
total/synth/DUP6/d1 1.74 1.74 +0.1% PASS
total/synth/DUP7/d0 1.39 1.39 -0.0% PASS
total/synth/DUP7/d1 1.74 1.74 -0.1% PASS
total/synth/DUP8/d0 1.39 1.39 +0.0% PASS
total/synth/DUP8/d1 1.74 1.74 -0.3% PASS
total/synth/DUP9/d0 1.39 1.15 -17.3% PASS
total/synth/DUP9/d1 1.74 1.74 +0.0% PASS
total/synth/EQ/b0 5.37 5.37 -0.0% PASS
total/synth/EQ/b1 5.60 5.61 +0.3% PASS
total/synth/GAS/a0 3.92 3.93 +0.4% PASS
total/synth/GAS/a1 3.99 4.01 +0.6% PASS
total/synth/GT/b0 5.38 5.38 +0.1% PASS
total/synth/GT/b1 5.34 5.35 +0.2% PASS
total/synth/ISZERO/u0 8.33 8.33 -0.0% PASS
total/synth/JUMPDEST/n0 2.85 2.85 -0.0% PASS
total/synth/LT/b0 5.39 5.39 +0.0% PASS
total/synth/LT/b1 5.35 5.36 +0.2% PASS
total/synth/MSIZE/a0 4.33 4.34 +0.2% PASS
total/synth/MSIZE/a1 4.85 4.86 +0.3% PASS
total/synth/MUL/b0 5.49 5.49 -0.0% PASS
total/synth/MUL/b1 5.92 5.93 +0.0% PASS
total/synth/NOT/u0 4.88 4.88 -0.1% PASS
total/synth/OR/b0 3.02 3.02 -0.0% PASS
total/synth/OR/b1 3.41 3.43 +0.5% PASS
total/synth/PC/a0 3.51 3.51 +0.0% PASS
total/synth/PC/a1 3.55 3.56 +0.1% PASS
total/synth/PUSH1/p0 1.39 1.39 +0.0% PASS
total/synth/PUSH1/p1 1.82 1.82 +0.0% PASS
total/synth/PUSH10/p0 1.39 1.40 +0.2% PASS
total/synth/PUSH10/p1 1.83 1.58 -13.5% PASS
total/synth/PUSH11/p0 1.39 1.40 +0.1% PASS
total/synth/PUSH11/p1 1.83 1.83 -0.1% PASS
total/synth/PUSH12/p0 1.40 1.40 -0.2% PASS
total/synth/PUSH12/p1 1.82 1.60 -12.2% PASS
total/synth/PUSH13/p0 1.39 1.39 +0.0% PASS
total/synth/PUSH13/p1 1.85 1.88 +1.9% PASS
total/synth/PUSH14/p0 1.42 1.45 +1.9% PASS
total/synth/PUSH14/p1 1.82 1.84 +1.0% PASS
total/synth/PUSH15/p0 1.39 1.39 +0.1% PASS
total/synth/PUSH15/p1 1.92 1.90 -0.9% PASS
total/synth/PUSH16/p0 1.39 1.40 +0.4% PASS
total/synth/PUSH16/p1 1.83 1.62 -11.5% PASS
total/synth/PUSH17/p0 1.30 1.40 +7.1% PASS
total/synth/PUSH17/p1 1.82 1.58 -13.2% PASS
total/synth/PUSH18/p0 1.39 1.39 +0.0% PASS
total/synth/PUSH18/p1 1.83 1.83 -0.1% PASS
total/synth/PUSH19/p0 1.39 1.40 +0.1% PASS
total/synth/PUSH19/p1 1.71 1.82 +6.6% PASS
total/synth/PUSH2/p0 1.40 1.39 -0.2% PASS
total/synth/PUSH2/p1 1.82 1.82 +0.2% PASS
total/synth/PUSH20/p0 1.40 1.40 +0.0% PASS
total/synth/PUSH20/p1 1.82 1.59 -12.7% PASS
total/synth/PUSH21/p0 1.39 1.40 +0.2% PASS
total/synth/PUSH21/p1 1.83 1.83 +0.0% PASS
total/synth/PUSH22/p0 1.39 1.40 +0.2% PASS
total/synth/PUSH22/p1 1.82 1.83 +0.3% PASS
total/synth/PUSH23/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH23/p1 1.83 1.83 -0.2% PASS
total/synth/PUSH24/p0 1.39 1.40 +0.2% PASS
total/synth/PUSH24/p1 1.83 1.59 -12.9% PASS
total/synth/PUSH25/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH25/p1 1.82 1.82 +0.0% PASS
total/synth/PUSH26/p0 1.40 1.40 +0.3% PASS
total/synth/PUSH26/p1 1.82 1.61 -11.6% PASS
total/synth/PUSH27/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH27/p1 1.83 1.82 -0.3% PASS
total/synth/PUSH28/p0 1.40 1.39 -0.1% PASS
total/synth/PUSH28/p1 1.83 1.82 -0.4% PASS
total/synth/PUSH29/p0 1.40 1.40 -0.1% PASS
total/synth/PUSH29/p1 1.83 1.82 -0.4% PASS
total/synth/PUSH3/p0 1.39 1.39 +0.0% PASS
total/synth/PUSH3/p1 1.82 1.82 +0.1% PASS
total/synth/PUSH30/p0 1.46 1.43 -2.0% PASS
total/synth/PUSH30/p1 1.84 1.83 -0.3% PASS
total/synth/PUSH31/p0 1.40 1.40 -0.2% PASS
total/synth/PUSH31/p1 1.92 1.91 -0.4% PASS
total/synth/PUSH32/p0 1.39 1.40 +0.1% PASS
total/synth/PUSH32/p1 1.85 1.83 -0.7% PASS
total/synth/PUSH4/p0 1.40 1.39 -0.4% PASS
total/synth/PUSH4/p1 1.82 1.82 +0.1% PASS
total/synth/PUSH5/p0 1.39 1.40 +0.1% PASS
total/synth/PUSH5/p1 1.83 1.82 -0.0% PASS
total/synth/PUSH6/p0 1.39 1.39 +0.1% PASS
total/synth/PUSH6/p1 1.85 1.84 -0.7% PASS
total/synth/PUSH7/p0 1.39 1.40 +0.2% PASS
total/synth/PUSH7/p1 1.83 1.82 -0.0% PASS
total/synth/PUSH8/p0 1.39 1.40 +0.3% PASS
total/synth/PUSH8/p1 1.83 1.83 -0.2% PASS
total/synth/PUSH9/p0 1.40 1.40 +0.1% PASS
total/synth/PUSH9/p1 1.82 1.83 +0.5% PASS
total/synth/RETURNDATASIZE/a0 4.08 4.08 -0.2% PASS
total/synth/RETURNDATASIZE/a1 4.12 3.88 -6.0% PASS
total/synth/SAR/b0 4.02 4.01 -0.2% PASS
total/synth/SAR/b1 4.65 4.66 +0.3% PASS
total/synth/SGT/b0 4.60 4.78 +3.9% PASS
total/synth/SGT/b1 4.13 4.14 +0.2% PASS
total/synth/SHL/b0 3.61 3.61 +0.1% PASS
total/synth/SHL/b1 3.73 3.73 +0.0% PASS
total/synth/SHR/b0 3.38 3.40 +0.4% PASS
total/synth/SHR/b1 3.68 3.67 -0.2% PASS
total/synth/SIGNEXTEND/b0 3.43 3.44 +0.1% PASS
total/synth/SIGNEXTEND/b1 3.82 3.83 +0.3% PASS
total/synth/SLT/b0 4.29 4.29 +0.0% PASS
total/synth/SLT/b1 4.12 4.13 +0.2% PASS
total/synth/SUB/b0 3.17 3.17 -0.0% PASS
total/synth/SUB/b1 3.49 3.51 +0.5% PASS
total/synth/SWAP1/s0 3.35 3.34 -0.1% PASS
total/synth/SWAP10/s0 3.36 3.36 -0.0% PASS
total/synth/SWAP11/s0 3.39 3.36 -0.9% PASS
total/synth/SWAP12/s0 3.37 3.36 -0.2% PASS
total/synth/SWAP13/s0 3.37 3.36 -0.1% PASS
total/synth/SWAP14/s0 3.36 3.36 +0.0% PASS
total/synth/SWAP15/s0 3.96 3.90 -1.3% PASS
total/synth/SWAP16/s0 3.37 3.37 +0.1% PASS
total/synth/SWAP2/s0 3.34 3.34 +0.1% PASS
total/synth/SWAP3/s0 3.34 3.35 +0.2% PASS
total/synth/SWAP4/s0 3.35 3.35 -0.2% PASS
total/synth/SWAP5/s0 3.37 3.35 -0.7% PASS
total/synth/SWAP6/s0 3.35 3.35 +0.1% PASS
total/synth/SWAP7/s0 3.35 3.35 +0.0% PASS
total/synth/SWAP8/s0 3.35 3.35 +0.1% PASS
total/synth/SWAP9/s0 3.38 3.35 -0.9% PASS
total/synth/XOR/b0 3.10 3.10 +0.0% PASS
total/synth/XOR/b1 3.49 3.50 +0.3% PASS
total/synth/loop_v1 6.75 6.77 +0.3% PASS
total/synth/loop_v2 6.76 6.76 +0.1% PASS

Summary: 194 benchmarks, 0 regressions


✅ Performance Check Passed (multipass)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 1.03 1.03 +0.1% PASS
total/main/blake2b_huff/empty 0.02 0.02 +0.3% PASS
total/main/blake2b_shifts/8415nulls 5.07 4.85 -4.3% PASS
total/main/sha1_divs/5311 0.61 0.62 +0.4% PASS
total/main/sha1_divs/empty 0.01 0.01 -0.6% PASS
total/main/sha1_shifts/5311 0.57 0.57 +0.2% PASS
total/main/sha1_shifts/empty 0.01 0.01 +0.1% PASS
total/main/snailtracer/benchmark 35.77 35.78 +0.0% PASS
total/main/structarray_alloc/nfts_rank 0.28 0.28 +0.1% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -0.7% PASS
total/main/swap_math/received 0.00 0.00 -0.7% PASS
total/main/swap_math/spent 0.00 0.00 +0.1% PASS
total/main/weierstrudel/1 0.26 0.26 +0.2% PASS
total/main/weierstrudel/15 3.01 3.02 +0.3% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 +0.4% PASS
total/micro/jump_around/empty 0.04 0.04 -2.3% PASS
total/micro/loop_with_many_jumpdests/empty 0.00 0.00 +0.0% PASS
total/micro/memory_grow_mload/by1 0.01 0.01 -0.3% PASS
total/micro/memory_grow_mload/by16 0.01 0.01 -0.8% PASS
total/micro/memory_grow_mload/by32 0.01 0.01 -0.9% PASS
total/micro/memory_grow_mload/nogrow 0.01 0.01 -0.5% PASS
total/micro/memory_grow_mstore/by1 0.01 0.01 -0.4% PASS
total/micro/memory_grow_mstore/by16 0.01 0.01 -1.8% PASS
total/micro/memory_grow_mstore/by32 0.01 0.01 -1.0% PASS
total/micro/memory_grow_mstore/nogrow 0.01 0.01 -0.9% PASS
total/micro/signextend/one 0.09 0.09 -1.3% PASS
total/micro/signextend/zero 0.09 0.09 -1.3% PASS
total/synth/ADD/b0 0.00 0.00 -2.0% PASS
total/synth/ADD/b1 0.00 0.00 +5.1% PASS
total/synth/ADDRESS/a0 0.15 0.15 +0.4% PASS
total/synth/ADDRESS/a1 0.15 0.15 -0.0% PASS
total/synth/AND/b0 0.00 0.00 -0.1% PASS
total/synth/AND/b1 0.00 0.00 -0.2% PASS
total/synth/BYTE/b0 0.00 0.00 +2.6% PASS
total/synth/BYTE/b1 0.00 0.00 +0.0% PASS
total/synth/CALLDATASIZE/a0 0.07 0.07 -0.0% PASS
total/synth/CALLDATASIZE/a1 0.07 0.07 -0.1% PASS
total/synth/CALLER/a0 0.20 0.20 -0.3% PASS
total/synth/CALLER/a1 0.20 0.20 -0.6% PASS
total/synth/CALLVALUE/a0 0.19 0.19 +0.3% PASS
total/synth/CALLVALUE/a1 0.19 0.19 -0.4% PASS
total/synth/CODESIZE/a0 0.07 0.07 -0.0% PASS
total/synth/CODESIZE/a1 0.07 0.07 +0.0% PASS
total/synth/DUP1/d0 0.00 0.00 -2.1% PASS
total/synth/DUP1/d1 0.00 0.00 +2.0% PASS
total/synth/DUP10/d0 0.00 0.00 +0.6% PASS
total/synth/DUP10/d1 0.00 0.00 -1.6% PASS
total/synth/DUP11/d0 0.00 0.00 -0.5% PASS
total/synth/DUP11/d1 0.00 0.00 +4.5% PASS
total/synth/DUP12/d0 0.00 0.00 -0.7% PASS
total/synth/DUP12/d1 0.00 0.00 +3.2% PASS
total/synth/DUP13/d0 0.00 0.00 +1.2% PASS
total/synth/DUP13/d1 0.00 0.00 +0.3% PASS
total/synth/DUP14/d0 0.00 0.00 +3.8% PASS
total/synth/DUP14/d1 0.00 0.00 +1.6% PASS
total/synth/DUP15/d0 0.00 0.00 +4.6% PASS
total/synth/DUP15/d1 0.00 0.00 -1.0% PASS
total/synth/DUP16/d0 0.00 0.00 +0.4% PASS
total/synth/DUP16/d1 0.00 0.00 -2.3% PASS
total/synth/DUP2/d0 0.00 0.00 +1.6% PASS
total/synth/DUP2/d1 0.00 0.00 +1.8% PASS
total/synth/DUP3/d0 0.00 0.00 +0.5% PASS
total/synth/DUP3/d1 0.00 0.00 +2.0% PASS
total/synth/DUP4/d0 0.00 0.00 -0.5% PASS
total/synth/DUP4/d1 0.00 0.00 -2.4% PASS
total/synth/DUP5/d0 0.00 0.00 +1.9% PASS
total/synth/DUP5/d1 0.00 0.00 -0.8% PASS
total/synth/DUP6/d0 0.00 0.00 +4.2% PASS
total/synth/DUP6/d1 0.00 0.00 -2.3% PASS
total/synth/DUP7/d0 0.00 0.00 +0.1% PASS
total/synth/DUP7/d1 0.00 0.00 -0.6% PASS
total/synth/DUP8/d0 0.00 0.00 +1.6% PASS
total/synth/DUP8/d1 0.00 0.00 -1.2% PASS
total/synth/DUP9/d0 0.00 0.00 -1.8% PASS
total/synth/DUP9/d1 0.00 0.00 +0.3% PASS
total/synth/EQ/b0 0.00 0.00 +1.1% PASS
total/synth/EQ/b1 0.00 0.00 -4.7% PASS
total/synth/GAS/a0 0.86 0.86 -0.0% PASS
total/synth/GAS/a1 0.86 0.86 -0.1% PASS
total/synth/GT/b0 0.00 0.00 -3.2% PASS
total/synth/GT/b1 0.00 0.00 +3.3% PASS
total/synth/ISZERO/u0 0.00 0.00 +0.1% PASS
total/synth/JUMPDEST/n0 0.00 0.00 +2.1% PASS
total/synth/LT/b0 0.00 0.00 +2.6% PASS
total/synth/LT/b1 0.00 0.00 +2.2% PASS
total/synth/MSIZE/a0 0.00 0.00 -0.7% PASS
total/synth/MSIZE/a1 0.00 0.00 -2.3% PASS
total/synth/MUL/b0 0.00 0.00 +0.4% PASS
total/synth/MUL/b1 0.00 0.00 -0.4% PASS
total/synth/NOT/u0 0.00 0.00 -1.0% PASS
total/synth/OR/b0 0.00 0.00 -3.1% PASS
total/synth/OR/b1 0.00 0.00 +1.7% PASS
total/synth/PC/a0 0.00 0.00 +0.1% PASS
total/synth/PC/a1 0.00 0.00 +4.2% PASS
total/synth/PUSH1/p0 0.00 0.00 +4.2% PASS
total/synth/PUSH1/p1 0.00 0.00 +1.8% PASS
total/synth/PUSH10/p0 0.00 0.00 -1.0% PASS
total/synth/PUSH10/p1 0.00 0.00 -0.3% PASS
total/synth/PUSH11/p0 0.00 0.00 -2.0% PASS
total/synth/PUSH11/p1 0.00 0.00 +0.7% PASS
total/synth/PUSH12/p0 0.00 0.00 +0.6% PASS
total/synth/PUSH12/p1 0.00 0.00 +2.8% PASS
total/synth/PUSH13/p0 0.00 0.00 +1.4% PASS
total/synth/PUSH13/p1 0.00 0.00 -0.3% PASS
total/synth/PUSH14/p0 0.00 0.00 +2.8% PASS
total/synth/PUSH14/p1 0.00 0.00 +0.7% PASS
total/synth/PUSH15/p0 0.00 0.00 -0.6% PASS
total/synth/PUSH15/p1 0.00 0.00 +1.6% PASS
total/synth/PUSH16/p0 0.00 0.00 +0.8% PASS
total/synth/PUSH16/p1 0.00 0.00 +2.6% PASS
total/synth/PUSH17/p0 0.00 0.00 -0.8% PASS
total/synth/PUSH17/p1 0.00 0.00 +3.7% PASS
total/synth/PUSH18/p0 0.00 0.00 +1.6% PASS
total/synth/PUSH18/p1 0.00 0.00 -1.8% PASS
total/synth/PUSH19/p0 0.00 0.00 -1.1% PASS
total/synth/PUSH19/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH2/p0 0.00 0.00 +1.8% PASS
total/synth/PUSH2/p1 0.00 0.00 +1.3% PASS
total/synth/PUSH20/p0 0.00 0.00 -3.5% PASS
total/synth/PUSH20/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH21/p0 0.00 0.00 -3.5% PASS
total/synth/PUSH21/p1 0.00 0.00 -0.3% PASS
total/synth/PUSH22/p0 1.51 1.51 -0.2% PASS
total/synth/PUSH22/p1 1.80 1.81 +0.7% PASS
total/synth/PUSH23/p0 1.52 1.52 +0.1% PASS
total/synth/PUSH23/p1 1.80 1.80 -0.3% PASS
total/synth/PUSH24/p0 1.51 1.51 +0.1% PASS
total/synth/PUSH24/p1 1.80 1.80 -0.0% PASS
total/synth/PUSH25/p0 1.52 1.53 +0.3% PASS
total/synth/PUSH25/p1 1.80 1.81 +0.5% PASS
total/synth/PUSH26/p0 1.51 1.51 -0.4% PASS
total/synth/PUSH26/p1 1.81 1.93 +6.9% PASS
total/synth/PUSH27/p0 1.51 1.52 +0.7% PASS
total/synth/PUSH27/p1 1.80 1.81 +0.4% PASS
total/synth/PUSH28/p0 1.53 1.51 -1.0% PASS
total/synth/PUSH28/p1 1.80 1.81 +0.5% PASS
total/synth/PUSH29/p0 1.51 1.53 +0.9% PASS
total/synth/PUSH29/p1 1.80 1.80 -0.2% PASS
total/synth/PUSH3/p0 0.00 0.00 +3.7% PASS
total/synth/PUSH3/p1 0.00 0.00 -0.1% PASS
total/synth/PUSH30/p0 1.59 1.53 -4.1% PASS
total/synth/PUSH30/p1 1.81 1.81 +0.0% PASS
total/synth/PUSH31/p0 1.51 1.52 +0.3% PASS
total/synth/PUSH31/p1 1.84 1.85 +0.6% PASS
total/synth/PUSH32/p0 1.51 1.51 -0.0% PASS
total/synth/PUSH32/p1 1.81 1.80 -0.2% PASS
total/synth/PUSH4/p0 0.00 0.00 -4.5% PASS
total/synth/PUSH4/p1 0.00 0.00 -1.4% PASS
total/synth/PUSH5/p0 0.00 0.00 +1.2% PASS
total/synth/PUSH5/p1 0.00 0.00 -3.8% PASS
total/synth/PUSH6/p0 0.00 0.00 -2.2% PASS
total/synth/PUSH6/p1 0.00 0.00 -0.8% PASS
total/synth/PUSH7/p0 0.00 0.00 +1.2% PASS
total/synth/PUSH7/p1 0.00 0.00 -0.9% PASS
total/synth/PUSH8/p0 0.00 0.00 -0.6% PASS
total/synth/PUSH8/p1 0.00 0.00 +1.8% PASS
total/synth/PUSH9/p0 0.00 0.00 -1.0% PASS
total/synth/PUSH9/p1 0.00 0.00 +2.8% PASS
total/synth/RETURNDATASIZE/a0 0.03 0.03 -0.1% PASS
total/synth/RETURNDATASIZE/a1 0.03 0.03 -0.0% PASS
total/synth/SAR/b0 0.00 0.00 -0.5% PASS
total/synth/SAR/b1 0.00 0.00 -4.1% PASS
total/synth/SGT/b0 0.00 0.00 +0.2% PASS
total/synth/SGT/b1 0.00 0.00 +1.5% PASS
total/synth/SHL/b0 0.00 0.00 +2.9% PASS
total/synth/SHL/b1 0.00 0.00 -0.0% PASS
total/synth/SHR/b0 0.00 0.00 +3.3% PASS
total/synth/SHR/b1 0.00 0.00 -2.4% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 +1.6% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 +1.9% PASS
total/synth/SLT/b0 0.00 0.00 +2.1% PASS
total/synth/SLT/b1 0.00 0.00 +2.8% PASS
total/synth/SUB/b0 0.00 0.00 +0.1% PASS
total/synth/SUB/b1 0.00 0.00 -1.1% PASS
total/synth/SWAP1/s0 0.00 0.00 -1.9% PASS
total/synth/SWAP10/s0 0.00 0.00 -0.4% PASS
total/synth/SWAP11/s0 0.00 0.00 +4.7% PASS
total/synth/SWAP12/s0 0.00 0.00 -2.8% PASS
total/synth/SWAP13/s0 0.00 0.00 +0.9% PASS
total/synth/SWAP14/s0 0.00 0.00 +1.6% PASS
total/synth/SWAP15/s0 0.00 0.00 +1.8% PASS
total/synth/SWAP16/s0 0.00 0.00 -0.2% PASS
total/synth/SWAP2/s0 0.00 0.00 +1.4% PASS
total/synth/SWAP3/s0 0.00 0.00 -0.4% PASS
total/synth/SWAP4/s0 0.00 0.00 +1.6% PASS
total/synth/SWAP5/s0 0.00 0.00 +1.4% PASS
total/synth/SWAP6/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP7/s0 0.00 0.00 -1.2% PASS
total/synth/SWAP8/s0 0.00 0.00 -2.9% PASS
total/synth/SWAP9/s0 0.00 0.00 +0.7% PASS
total/synth/XOR/b0 0.00 0.00 +1.3% PASS
total/synth/XOR/b1 0.00 0.00 +2.4% PASS
total/synth/loop_v1 1.72 1.71 -0.5% PASS
total/synth/loop_v2 1.63 1.59 -2.5% PASS

Summary: 194 benchmarks, 0 regressions


@zoowii zoowii merged commit d35b65f into DTVMStack:main May 18, 2026
16 checks passed
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.

3 participants