Skip to content

Conversation

lbhm
Copy link
Collaborator

@lbhm lbhm commented Aug 27, 2025

What changes are proposed in this pull request?

#1192 added a makeshift benchmark test to measure the performance of the new ToJson expression. This PR migrates this test to a dedicated expression_bench for the default engine.

This PR only adds ToJson to expression_bench, but this can be extended as necessary in future PRs.

How was this change tested?

N/A - this PR adds a performance benchmark.

@github-actions github-actions bot added the breaking-change Change that require a major version bump label Aug 27, 2025
Copy link

codecov bot commented Aug 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.98%. Comparing base (5bdc186) to head (81bec2d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1220      +/-   ##
==========================================
+ Coverage   83.81%   83.98%   +0.16%     
==========================================
  Files         111      111              
  Lines       26223    26175      -48     
  Branches    26223    26175      -48     
==========================================
+ Hits        21980    21983       +3     
+ Misses       3147     3098      -49     
+ Partials     1096     1094       -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.

Copy link
Collaborator

@scovich scovich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! one nit

use delta_kernel::arrow::datatypes::{DataType, Field, Fields};
use delta_kernel::engine::arrow_expression::evaluate_expression::to_json;

use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion, Throughput};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the docs for black_box:

👎Deprecated: use std::hint::black_box() instead

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh true. I didn't notice because we are using an older version of criterion (from 2023) in which this wasn't deprecated yet. Should we upgrade?

@lbhm lbhm force-pushed the expression-benchmark branch from 0dc37b4 to 7cc435f Compare August 28, 2025 09:28
@lbhm lbhm force-pushed the expression-benchmark branch from 7cc435f to 1cf0b1c Compare August 28, 2025 18:23
@zachschuermann zachschuermann removed the breaking-change Change that require a major version bump label Sep 16, 2025
@zachschuermann zachschuermann self-requested a review September 16, 2025 17:44
Copy link
Member

@zachschuermann zachschuermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice, LGTM thanks!

@zachschuermann zachschuermann merged commit 3292cef into delta-io:main Sep 16, 2025
21 checks passed
murali-db pushed a commit to murali-db/delta-kernel-rs that referenced this pull request Sep 17, 2025
## What changes are proposed in this pull request?

delta-io#1192 added a makeshift benchmark test to measure the performance of the
new `ToJson` expression. This PR migrates this test to a dedicated
`expression_bench` for the default engine.

This PR only adds `ToJson` to `expression_bench`, but this can be
extended as necessary in future PRs.

## How was this change tested?

N/A - this PR adds a performance benchmark.

---------

Co-authored-by: Zach Schuermann <[email protected]>
@lbhm lbhm deleted the expression-benchmark branch September 22, 2025 07:36
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.

3 participants