Skip to content

perf: add application benchmarks#28

Merged
MartinP7r merged 3 commits into
mainfrom
perf/add-benchmarks
Feb 6, 2026
Merged

perf: add application benchmarks#28
MartinP7r merged 3 commits into
mainfrom
perf/add-benchmarks

Conversation

@MartinP7r

Copy link
Copy Markdown
Owner

Summary

Adds Criterion benchmarks for core application operations:

  • Tree flattening (Node::flatten) - benchmarks with varying tree sizes (depths 3-5, breadths 3-10)
  • Filter nodes (App::filter_nodes) - benchmarks with empty, short, and long queries
  • ANSI code stripping - single string and batch (500 lines) benchmarks

Changes

  • Add src/lib.rs to expose modules for benchmarking
  • Add benches/app_bench.rs with new benchmarks
  • Make tui::app module public
  • Make strip_ansi_codes function public

Test plan

  • cargo clippy passes
  • cargo test - all 27 tests pass
  • cargo bench --bench app_bench runs successfully

Running benchmarks

# Run all app benchmarks
cargo bench --bench app_bench

# Run quick benchmarks
cargo bench --bench app_bench -- --quick

# Run specific benchmark
cargo bench --bench app_bench -- tree_flatten

- Add lib.rs to expose modules for benchmarking
- Add benchmarks for tree flattening (Node::flatten)
- Add benchmarks for filter_nodes with various query sizes
- Add benchmarks for ANSI code stripping (single and batch)
- Make tui::app module and strip_ansi_codes public for benchmarks

Run with: cargo bench --bench app_bench
@MartinP7r MartinP7r marked this pull request as ready for review February 6, 2026 07:31
@MartinP7r MartinP7r merged commit a2560df into main Feb 6, 2026
2 checks passed
@MartinP7r MartinP7r deleted the perf/add-benchmarks branch February 6, 2026 07:31
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