Skip to content

feat: enable Snakemake benchmark files for DSP-running rules#146

Merged
gipert merged 2 commits into
mainfrom
feat/dsp-benchmarks
May 19, 2026
Merged

feat: enable Snakemake benchmark files for DSP-running rules#146
gipert merged 2 commits into
mainfrom
feat/dsp-benchmarks

Conversation

@gipert
Copy link
Copy Markdown
Member

@gipert gipert commented May 19, 2026

Summary

  • Add benchmark: directives to every rule that executes DSP processing (tier build and parameter generation, geds and spms, dsp and psp). Snakemake will write per-rule wall-time / memory TSVs alongside the existing logs.
  • New plumbing: tmp_benchmark path, tmp_benchmark_path() helper, and get_pattern_benchmark / get_pattern_benchmark_channel mirroring the existing log helpers.
  • Drive-by: a small formatting tweak to pht/fast.py (save_dict_to_files call).

Rules instrumented

  • dsp.smkbuild_dsp
  • psp.smkbuild_psp
  • dsp_pars_spms.smkbuild_pars_dsp_tau_spms
  • dsp_pars_geds.smkbuild_pars_dsp_pz_geds, build_pars_evtsel_geds, build_pars_dsp_nopt_geds, build_pars_dsp_dplms_geds, build_pars_dsp_eopt_geds
  • psp_pars_geds.smkbuild_par_psp_fallback, build_pars_psp_dplms_geds_fallback

The SVM training rules (build_svm_dsp_geds, build_pars_dsp_svm_geds, and PSP svm equivalents) are intentionally skipped — they don't run DSP on data.

Test plan

  • pytest tests/ passes
  • Snakemake parses every rule body (workflow loads up to a pre-existing dummy-cycle catalog issue unrelated to this change)
  • On a real production run: confirm generated/tmp/benchmark/<time>/<step>/*.tsv files appear and contain sensible numbers

gipert added 2 commits May 19, 2026 12:30
Add benchmark: directives to every rule that executes DSP processing
(tier build and parameter generation, geds and spms, dsp and psp).
Adds two pattern helpers (get_pattern_benchmark and
get_pattern_benchmark_channel) mirroring the log helpers, and a new
tmp_benchmark path so files live alongside logs and get cleaned with
the rest of tmp/.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 19, 2026

Codecov Report

❌ Patch coverage is 50.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.70%. Comparing base (baccae7) to head (4f2ea4c).

Files with missing lines Patch % Lines
workflow/src/legenddataflow/methods/patterns.py 50.00% 2 Missing ⚠️
workflow/src/legenddataflow/methods/paths.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #146      +/-   ##
==========================================
- Coverage   64.84%   64.70%   -0.15%     
==========================================
  Files           7        7              
  Lines         623      629       +6     
==========================================
+ Hits          404      407       +3     
- Misses        219      222       +3     

☔ 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.

@gipert gipert merged commit 695774a into main May 19, 2026
11 checks passed
@gipert gipert deleted the feat/dsp-benchmarks branch May 19, 2026 10:52
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