8000 bench: add benchmarks for window functions, temporal metadata, UDFs (issue #81) by adityamukho · Pull Request #90 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

bench: add benchmarks for window functions, temporal metadata, UDFs (issue #81) - #90

Merged
adityamukho merged 5 commits into
mainfrom
fix/issue-81-bench-new-features
Apr 6, 2026
Merged

adityamukho merged 5 commits into
mainfrom
fix/issue-81-bench-new-features

Conversation

@adityamukho
8000 Copy link
Copy Markdown
Collaborator

Summary

  • Add bench_window function for running_sum, rank, row_number at 1K/10K scales
  • Add bench_temporal_metadata function for tx_time, valid_from, valid_to at 1K/10K scales
  • Add bench_udf function for aggregate/predicate dispatch overhead
  • Add count_distinct_scale sub-benchmark (50% duplicates)
  • Add regex_filter sub-benchmark for matches? predicate
  • Add helper functions: populate_with_duplicates, populate_with_string_vals

Tests

  • All 488 unit tests pass
  • 24 integration tests pass
  • Benchmarks compile successfully

@codecov
codecov Bot commented Apr 4, 2026 •
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.73%. Comparing base (949bf22) to head (6aa4f99).
⚠️ Report is 6 commits behind head on main.

❗ There is a different number of reports uploaded between BASE (949bf22) and HEAD (6aa4f99). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (949bf22) HEAD (6aa4f99)
branch-coverage 1 0
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #90      +/-   ##
==========================================
- Coverage   90.68%   83.73%   -6.96%     
==========================================
  Files          26       26              
  Lines       14718     4788    -9930     
  Branches      557        0     -557     
==========================================
- Hits        13347     4009    -9338     
+ Misses       1304      779     -525     
+ Partials       67        0      -67     
Flag Coverage Δ
branch-coverage ?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 26 files with indirect coverage changes

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

- Add Window Functions section with running_sum, rank, row_number
- Add Temporal Metadata section with tx_time, valid_from, valid_to
- Add UDF Dispatch section with aggregate/predicate benchmarks
- Add Query: Regex Filter section
- Add count_distinct_scale to Aggregation section
- Update version reference to v0.17.0

Note: Actual benchmark timings need to be run with cargo bench.
- Fix :tx-time to :db/tx-count with :any-valid-time
- Fix :valid-from to :db/valid-from with :any-valid-time
- Fix :valid-to to :db/valid-to with :any-valid-time

The incorrect syntax caused benchmarks to hang (6h timeout) because
the parse error made the process exit before Criterion could measure.
- bench_light.yml: insert through recursion (~2h limit)
- bench.yml: negation onwards with 6h limit

This prevents total timeout when heavy benchmarks hang.
Light: insert through concurrent_file (3h)
Heavy: negation through concurrent_btree_scan (6h)
@adityamukho
adityamukho merged commit ea3b378 into main Apr 6, 2026
15 checks passed
@adityamukho
adityamukho deleted the fix/issue-81-bench-new-features branch April 6, 2026 04:47
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

0