Skip to content

ci: Ask CodSpeed for allocation measurements too - #1697

Draft
chfast wants to merge 1 commit into
masterfrom
ci/codspeed-memory
Draft

ci: Ask CodSpeed for allocation measurements too#1697
chfast wants to merge 1 commit into
masterfrom
ci/codspeed-memory

Conversation

@chfast

@chfast chfast commented Sep 4, 2026

Copy link
Copy Markdown
Member

An experiment, to see what CodSpeed's memory mode reports for the baseline VM.

The mode is chosen when the harness is compiled, not when it runs. The first attempt here just added memory to the action's mode list against the existing simulation build: the runner accepted it, ran twice and uploaded two result sets, and CodSpeed then reported "No results found during the execution". CODSPEED_MODE takes one value, and although instrumentation, simulation and memory all compile to the same CODSPEED_ANALYSIS, the memory harness behaves differently at run time — it skips the warmup and reports through the allocation hooks.

So the allocation run gets a build of its own, and the two simulation runs are untouched.

Worth watching: whether the extra configure and build cost much wall time, and whether the numbers say anything the instruction counts do not.

🤖 Generated with Claude Code

https://claude.ai/code/session_016UHPAGwcwXMjqhTLpT31K7

@codspeed-hq

codspeed-hq Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will degrade performance by 3.57%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 1 regressed benchmark
✅ 128 untouched benchmarks
🆕 129 new benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation baseline/analyse/main/sha1_shifts 11.1 µs 11.5 µs -3.57%
🆕 Memory modexp<expmod_execute_evmone>[mod_len:1016/mod_tz:8/exp_bits:2] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:1024/mod_tz:4096/exp_bits:2048] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:1024/mod_tz:8/exp_bits:2] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:1024/mod_tz:8/exp_bits:2048] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:1024/mod_tz:8/exp_bits:256] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:1024/mod_tz:8190/exp_bits:2048] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:112/mod_tz:8/exp_bits:4] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:136/mod_tz:8/exp_bits:3] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:16/mod_tz:8/exp_bits:33] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:192/mod_tz:8/exp_bits:2] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:24/mod_tz:8/exp_bits:33] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:0/exp_bits:256] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:0/exp_bits:33] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:1/exp_bits:33] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:127/exp_bits:256] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:127/exp_bits:33] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:254/exp_bits:256] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:254/exp_bits:33] N/A 0 B N/A
🆕 Memory modexp<expmod_execute_evmone>[mod_len:32/mod_tz:8/exp_bits:256] N/A 0 B N/A
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ci/codspeed-memory (4b079f3) with master (af66b3d)

Open in CodSpeed

@codecov

codecov Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.98%. Comparing base (af66b3d) to head (4b079f3).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1697   +/-   ##
=======================================
  Coverage   97.98%   97.98%           
=======================================
  Files         181      181           
  Lines       16199    16199           
  Branches     3723     3723           
=======================================
  Hits        15873    15873           
  Misses        248      248           
  Partials       78       78           
Flag Coverage Δ
eest-develop 87.14% <ø> (ø)
eest-develop-gmp 26.17% <ø> (ø)
eest-legacy 16.94% <ø> (ø)
eest-libsecp256k1 28.38% <ø> (ø)
eest-stable 87.10% <ø> (ø)
evmone-unittests 94.24% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
core 96.19% <ø> (ø)
tooling 94.06% <ø> (ø)
tests 99.81% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@chfast
chfast force-pushed the ci/codspeed-memory branch from 55c5884 to 2f70899 Compare September 4, 2026 13:51
The instrument is picked when the harness is compiled, not when it
runs: asking the action for a mode the build was not configured for
uploaded results CodSpeed found nothing in. So the mode becomes the
matrix, and one Configure and one Build serve both, as the RISC-V
workflow does it.

Two things come along: a concurrency group, so a new push cancels the
run it replaces, and the Hunter cache the other jobs already restore.

Claude-Session: https://claude.ai/code/session_016UHPAGwcwXMjqhTLpT31K7
@chfast
chfast force-pushed the ci/codspeed-memory branch from 2f70899 to 4b079f3 Compare September 4, 2026 14:07
@chfast

chfast commented Sep 4, 2026

Copy link
Copy Markdown
Member Author

Not worth currently for current benchmarks as memory shows at most single allocation.

@chfast
chfast marked this pull request as draft September 4, 2026 15:51
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.

1 participant