test: Register the precompile benchmarks uniformly - #1658
Merged
Conversation
chfast
force-pushed
the
test/bench-names
branch
from
August 14, 2026 16:02
672737e to
560faa8
Compare
chfast
added a commit
that referenced
this pull request
Aug 14, 2026
BENCHMARK_TEMPLATE() is the legacy form and the modexp benchmarks in the same file already use BENCHMARK(). Matches #1658.
Pass the implementation functions to BENCHMARK() directly instead of through aliases, which makes the namespaces that only kept those aliases apart unnecessary, and drop the redundant enum qualification from the names with a using enum declaration. BENCHMARK_TEMPLATE() is the legacy form and the modexp benchmarks in the same file already use BENCHMARK().
chfast
force-pushed
the
test/bench-names
branch
from
August 14, 2026 16:14
560faa8 to
6342bd4
Compare
chfast
added a commit
that referenced
this pull request
Aug 14, 2026
BENCHMARK_TEMPLATE() is the legacy form and the modexp benchmarks in the same file already use BENCHMARK(). Matches #1658.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1658 +/- ##
=======================================
Coverage 97.72% 97.72%
=======================================
Files 171 171
Lines 15627 15627
Branches 3616 3616
=======================================
Hits 15271 15271
Misses 269 269
Partials 87 87
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Standardizes precompile benchmark registration and produces CodSpeed-compatible names without ::.
Changes:
- Registers implementation functions directly with
BENCHMARK(). - Removes alias-only namespaces and shortens names via
using enum.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The implementation functions are passed to
BENCHMARK()directly instead of through aliases, which makes the seven namespaces that only existed to keep those aliases apart unnecessary, replaces the legacyBENCHMARK_TEMPLATE()with the form the modexp benchmarks in the same file already use, and ausing enumdeclaration drops the redundant qualification from the generated names —precompile<ecadd, ecadd_execute>instead ofprecompile<PrecompileId::ecadd, evmmax_cpp>, now naming the measured implementation exactly. The benchmarks themselves are unchanged; this only removes 36 lines and makes the registrations uniform, which also keeps the names free of the::that CodSpeed reserves for itsfile::nameURI separator (#1653).