Skip to content

Comments

feat: cast expression#5389

Merged
danking merged 3 commits intodevelopfrom
dk/pyexpr-cast
Nov 19, 2025
Merged

feat: cast expression#5389
danking merged 3 commits intodevelopfrom
dk/pyexpr-cast

Conversation

@danking
Copy link
Contributor

@danking danking commented Nov 18, 2025

Without this, it is impossible to compare two columns with different bit-widths.

Without this, it is impossible to compare two columns with different bit-widths.

Signed-off-by: Daniel King <dan@spiraldb.com>
@danking danking marked this pull request as ready for review November 18, 2025 19:21
@danking danking enabled auto-merge (squash) November 18, 2025 19:21
@danking danking added the changelog/feature A new feature label Nov 18, 2025
@codecov
Copy link

codecov bot commented Nov 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.02%. Comparing base (1aac9ca) to head (efa3e8c).
⚠️ Report is 16 commits behind head on develop.

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
@codspeed-hq
Copy link

codspeed-hq bot commented Nov 18, 2025

CodSpeed Performance Report

Merging #5389 will degrade performances by 11.37%

Comparing dk/pyexpr-cast (efa3e8c) with develop (e269163)1

Summary

❌ 16 regressions
✅ 1405 untouched
🆕 7 new
⏩ 652 skipped2
🗄️ 28 archived benchmarks run3

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
decode_primitives[f32, (1000, 128)] 22.6 µs 25.5 µs -11.28%
decode_primitives[f32, (1000, 2)] 22.4 µs 25.3 µs -11.35%
decode_primitives[f32, (1000, 32)] 22.6 µs 25.4 µs -11.29%
decode_primitives[f32, (1000, 4)] 22.4 µs 25.3 µs -11.37%
decode_primitives[f32, (1000, 512)] 23.9 µs 26.7 µs -10.74%
decode_primitives[f32, (1000, 8)] 22.5 µs 25.3 µs -11.34%
decode_primitives[i64, (1000, 128)] 25.4 µs 28.4 µs -10.34%
decode_primitives[i64, (1000, 2)] 25.1 µs 28.1 µs -10.54%
decode_primitives[i64, (1000, 32)] 25.5 µs 28.5 µs -10.38%
decode_primitives[i64, (1000, 4)] 24.9 µs 27.8 µs -10.52%
decode_primitives[i64, (1000, 8)] 24.7 µs 27.6 µs -10.61%
decode_primitives[u8, (1000, 128)] 23.3 µs 26.2 µs -10.86%
decode_primitives[u8, (1000, 32)] 23.2 µs 26 µs -10.91%
decode_primitives[u8, (1000, 4)] 23.2 µs 26 µs -10.91%
decode_primitives[u8, (1000, 512)] 23.3 µs 26.1 µs -10.87%
decode_primitives[u8, (1000, 8)] 23.2 µs 26 µs -10.91%
🆕 decompress[("alp_for_bp_f64", 0x4633420)] N/A 24.2 ms N/A
🆕 decompress[("datetime_for_bp", 0x46362e0)] N/A 34.9 ms N/A
🆕 decompress[("dict_fsst_varbin_bp_string", 0x4635620)] N/A 14.5 ms N/A
🆕 decompress[("dict_fsst_varbin_string", 0x4635180)] N/A 14.5 ms N/A
... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

Footnotes

  1. No successful run was found on develop (e1c8435) during the generation of this report, so e269163 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

  2. 652 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  3. 28 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them.

@danking danking requested a review from a10y November 18, 2025 22:56
Comment on lines +360 to +361
/// >>> ve.cast(ve.literal(vx.float_(16), 3.145), vx.float_(64))
/// <vortex.Expr object at ...>
Copy link
Contributor

Choose a reason for hiding this comment

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

any reason we omit the types?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@joseph-isaacs what do you mean? I think this is just the default printed form for any expression.

@danking danking merged commit d17d54f into develop Nov 19, 2025
39 of 40 checks passed
@danking danking deleted the dk/pyexpr-cast branch November 19, 2025 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants