Repository navigation
Add #[inline] to ZipEq::next - #1138
Conversation
|
Hi there, could you provide some numbers about how much this would actually speed up your use case? I ask because so far we do not have a policy regarding |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1138 +/- ##
==========================================
- Coverage 94.38% 93.61% -0.78%
==========================================
Files 48 52 +4
Lines 6665 6484 -181
==========================================
- Hits 6291 6070 -221
- Misses 374 414 +40 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
So I was originally working with an LLM and it noticed that But the main reason I thought this was a good change was because I ran some benchmarks on a VM (generated by an LLM, so again take this with a grain of salt): DetailsAdding For example, decoding 10,000 rows with alternating Boolean values and 90% valid runs:
These are native wall-time measurements on a Xeon Platinum 8488C, using Rust 1.99.1 / LLVM 23.1.1, AVX2 flags, and Vortex’s bench profile with 16 CGUs and The assembly explains the difference: without the annotation, the decoder and the monomorphized The comparison uses Vortex at So TLDR; the issue is just that this can land in a different CGU without the inline hint. This is obviously only an issue if there are multiple CGUs. |
phimuemue
left a comment
There was a problem hiding this comment.
Taking because of reasonably explained reasonable.
Thanks.
a409cdd
ZipEq::nexthas no#[inline], unlikeZip::nextin core andZipLongest::nextin this crate.Related: vortex-data/vortex#10962 (comment)