Skip to content

bench: add Criterion benchmarks and full BENCHMARKS.md#91

Merged
mostafa merged 2 commits into
mainfrom
bench/dynamic-pipelines
May 7, 2026
Merged

bench: add Criterion benchmarks and full BENCHMARKS.md#91
mostafa merged 2 commits into
mainfrom
bench/dynamic-pipelines

Conversation

@mostafa
Copy link
Copy Markdown
Member

@mostafa mostafa commented May 7, 2026

Summary

  • Add a new Criterion benchmark suite (crates/rsigma-runtime/benches/dynamic_pipelines.rs) covering source resolution latency, data parsing, extract expression evaluation (JQ/JSONPath/CEL), template expansion throughput, resolve-with-extract, and end-to-end dynamic detection.
  • Create BENCHMARKS.md documenting results from all five benchmark suites across three crates (parser, eval, correlation, runtime throughput, dynamic pipelines).
  • Add a "Performance" section to the root README with headline numbers and a link to the full benchmark document.

Benchmark suites recorded

Crate Suite Groups
rsigma-parser parse rule parsing, wildcard/regex pattern cache
rsigma-eval eval compilation, single-event eval, throughput, batch mode, wildcard/regex
rsigma-eval correlation event-count, temporal, throughput, state pressure
rsigma-runtime runtime_throughput format throughput, raw vs processor, rule scaling
rsigma-runtime dynamic_pipelines source resolution, parsing, extraction, template expansion, e2e detection

Test plan

  • cargo bench -p rsigma-runtime --bench dynamic_pipelines compiles and runs
  • All five suites produce valid results
  • cargo clippy --workspace and cargo fmt --all -- --check pass

mostafa added 2 commits May 7, 2026 19:39
Six benchmark groups covering the dynamic pipeline performance profile:
- source_resolve_file: file I/O + JSON parsing latency at varying sizes
- source_parse_data: isolated parse_data for JSON/YAML/lines formats
- source_extract: JQ, JSONPath, and CEL expression evaluation
- template_expansion: var expansion throughput scaling with var count and array size
- source_resolve_with_extract: end-to-end file resolve + filter extraction
- dynamic_detection_e2e: full pipeline detection and reload latency
Expand BENCHMARKS.md from dynamic-pipelines-only to include all five
Criterion suites (parser, eval, correlation, runtime throughput, dynamic
pipelines). Add a Performance section to the root README linking to the
full results.
@mostafa mostafa merged commit e68b0a0 into main May 7, 2026
12 checks passed
@mostafa mostafa changed the title bench: Criterion benchmarks for dynamic pipelines bench: add Criterion benchmarks and full BENCHMARKS.md May 7, 2026
@mostafa mostafa deleted the bench/dynamic-pipelines branch May 7, 2026 19:01
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