Skip to content

Add a workflow for hyperfine benchmarks#1304

Merged
j178 merged 14 commits intoj178:masterfrom
kushudai:hyperfine-bench
Mar 9, 2026
Merged

Add a workflow for hyperfine benchmarks#1304
j178 merged 14 commits intoj178:masterfrom
kushudai:hyperfine-bench

Conversation

@kushudai
Copy link
Copy Markdown
Contributor

@kushudai kushudai commented Jan 2, 2026

Comment thread .github/workflows/hyperfine.yml Fixed
Comment thread .github/workflows/hyperfine.yml Fixed
Comment thread .github/workflows/hyperfine.yml Fixed
Comment thread .github/workflows/hyperfine.yml Fixed
Comment thread .github/workflows/hyperfine.yml Fixed
Comment thread .github/workflows/hyperfine.yml Fixed
Comment thread .github/workflows/hyperfine.yml Fixed
Comment thread .github/workflows/hyperfine.yml Fixed
@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.76%. Comparing base (80d0806) to head (0f0a1c5).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1304      +/-   ##
==========================================
+ Coverage   91.75%   91.76%   +0.01%     
==========================================
  Files          98       98              
  Lines       19679    19737      +58     
==========================================
+ Hits        18056    18112      +56     
- Misses       1623     1625       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 2, 2026

📦 Cargo Bloat Comparison

Binary size change: +0.00% (24.5 MiB → 24.5 MiB)

Expand for cargo-bloat output

Head Branch Results

 File  .text     Size             Crate Name
 1.3%   2.8% 332.0KiB        aws_lc_sys aws_lc_0_38_0_aes_gcm_encrypt_avx512
 1.3%   2.8% 332.0KiB        aws_lc_sys aws_lc_0_38_0_aes_gcm_decrypt_avx512
 0.3%   0.6%  73.9KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.3%   0.6%  71.2KiB             prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
 0.3%   0.5%  65.8KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.2%   0.4%  51.0KiB annotate_snippets annotate_snippets::renderer::render::render
 0.2%   0.4%  50.6KiB              prek prek::languages::<impl prek::config::Language>::install::{{closure}}
 0.2%   0.4%  45.8KiB              prek prek::run::{{closure}}
 0.2%   0.3%  41.5KiB              prek prek::cli::run::run::run::{{closure}}
 0.1%   0.3%  31.8KiB             prek? <prek::cli::RunArgs as clap_builder::derive::Args>::augment_args
 0.1%   0.2%  28.0KiB        aws_lc_sys aws_lc_0_38_0_edwards25519_scalarmuldouble_alt
 0.1%   0.2%  27.8KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2%  27.5KiB        aws_lc_sys aws_lc_0_38_0_edwards25519_scalarmuldouble
 0.1%   0.2%  25.0KiB             prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::Config>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2%  22.5KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2%  22.5KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2%  22.4KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2%  22.3KiB         [Unknown] Lp384_montjscalarmul_alt_p384_montjadd
 0.1%   0.2%  22.0KiB               std core::ptr::drop_in_place<prek::languages::<impl prek::config::Language>::install::{{closure}}>
 0.1%   0.2%  21.5KiB      clap_builder clap_builder::parser::parser::Parser::get_matches_with
41.1%  85.9%  10.1MiB                   And 22984 smaller methods. Use -n N to show more.
47.8% 100.0%  11.7MiB                   .text section size, the file size is 24.5MiB

Base Branch Results

 File  .text     Size             Crate Name
 1.3%   2.8% 332.0KiB        aws_lc_sys aws_lc_0_38_0_aes_gcm_encrypt_avx512
 1.3%   2.8% 332.0KiB        aws_lc_sys aws_lc_0_38_0_aes_gcm_decrypt_avx512
 0.3%   0.6%  70.9KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.3%   0.6%  67.5KiB             prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
 0.3%   0.5%  65.8KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.2%   0.4%  51.0KiB annotate_snippets annotate_snippets::renderer::render::render
 0.2%   0.4%  50.6KiB              prek prek::languages::<impl prek::config::Language>::install::{{closure}}
 0.2%   0.4%  45.9KiB              prek prek::run::{{closure}}
 0.2%   0.3%  41.7KiB              prek prek::cli::run::run::run::{{closure}}
 0.1%   0.3%  31.8KiB             prek? <prek::cli::RunArgs as clap_builder::derive::Args>::augment_args
 0.1%   0.2%  28.0KiB        aws_lc_sys aws_lc_0_38_0_edwards25519_scalarmuldouble_alt
 0.1%   0.2%  27.8KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2%  27.5KiB        aws_lc_sys aws_lc_0_38_0_edwards25519_scalarmuldouble
 0.1%   0.2%  25.0KiB             prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::Config>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2%  22.5KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2%  22.4KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2%  22.3KiB         [Unknown] Lp384_montjscalarmul_alt_p384_montjadd
 0.1%   0.2%  22.2KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2%  22.0KiB               std core::ptr::drop_in_place<prek::languages::<impl prek::config::Language>::install::{{closure}}>
 0.1%   0.2%  21.5KiB      clap_builder clap_builder::parser::parser::Parser::get_matches_with
41.1%  86.0%  10.1MiB                   And 23019 smaller methods. Use -n N to show more.
47.8% 100.0%  11.7MiB                   .text section size, the file size is 24.5MiB

@ulgens
Copy link
Copy Markdown
Contributor

ulgens commented Jan 3, 2026

Two notes:

  • Can you separate the scripts from the workflow files? Embedding them disables syntax highlighting and makes it harder to run a linter on them.
  • It looks like the benchmarks will be running on GitHub-hosted runners. Is that a good environment to run benchmarks? Is their performance stable enough to have consistent results between runs?

@j178 j178 added the ci CI related label Jan 13, 2026
Comment thread .github/workflows/hyperfine-comment.yml Fixed
@kushudai
Copy link
Copy Markdown
Contributor Author

kushudai commented Mar 9, 2026

Two notes:

* Can you separate the scripts from the workflow files? Embedding them disables syntax highlighting and makes it harder to run a linter on them.

* It looks like the benchmarks will be running on GitHub-hosted runners. Is that a good environment to run benchmarks? Is their performance stable enough to have consistent results between runs?
  • Moved to a scripts folder.
  • Yes it's fine. The point is to compare performance betweeen two branches so they are only comparable per run, not across runs.

@kushudai kushudai marked this pull request as ready for review March 9, 2026 05:20
@kushudai kushudai requested a review from j178 as a code owner March 9, 2026 05:20
@kushudai
Copy link
Copy Markdown
Contributor Author

kushudai commented Mar 9, 2026

@j178 This is good to review, if you'd like to take a look 🙂

@j178 j178 force-pushed the hyperfine-bench branch from d361596 to a8f031c Compare March 9, 2026 07:26
@j178
Copy link
Copy Markdown
Owner

j178 commented Mar 9, 2026

Thank you!

@j178 j178 merged commit e6344fc into j178:master Mar 9, 2026
50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add benchmarking in CI

4 participants