From 0de38675c109f883bdd0b7f44d36177f779c632d Mon Sep 17 00:00:00 2001 From: Robert Kruszewski Date: Mon, 8 Apr 2024 15:09:45 +0100 Subject: [PATCH] Try to inline WithCompute calls --- fastlanez/src/bitpack.rs | 2 +- vortex-array/src/array/mod.rs | 1 + vortex-fastlanes/src/bitpacking/compress.rs | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fastlanez/src/bitpack.rs b/fastlanez/src/bitpack.rs index 8d4f911a08..65303f9b3d 100644 --- a/fastlanez/src/bitpack.rs +++ b/fastlanez/src/bitpack.rs @@ -232,7 +232,7 @@ mod test { assert_eq!(output.len(), 1280); input.iter().enumerate().for_each(|(i, v)| { - let decoded = ::try_unpack_single(&output, 10, i).unwrap(); + let decoded = u32::try_unpack_single(&output, 10, i).unwrap(); assert_eq!(decoded, *v); }); } diff --git a/vortex-array/src/array/mod.rs b/vortex-array/src/array/mod.rs index 2c0889bf97..a06eb54674 100644 --- a/vortex-array/src/array/mod.rs +++ b/vortex-array/src/array/mod.rs @@ -91,6 +91,7 @@ pub trait WithArrayCompute { } impl WithArrayCompute for dyn Array + '_ { + #[inline] fn with_compute VortexResult>( &self, f: F, diff --git a/vortex-fastlanes/src/bitpacking/compress.rs b/vortex-fastlanes/src/bitpacking/compress.rs index f2df43cea0..550040fb4a 100644 --- a/vortex-fastlanes/src/bitpacking/compress.rs +++ b/vortex-fastlanes/src/bitpacking/compress.rs @@ -259,7 +259,7 @@ pub fn unpack_primitive( pub(crate) fn unpack_single(array: &BitPackedArray, index: usize) -> VortexResult { let bit_width = array.bit_width(); - let encoded = flatten_primitive(cast(array.encoded(), U8.into())?.as_ref())?; + let encoded = flatten_primitive(&cast(array.encoded(), U8.into())?)?; let ptype: PType = array.dtype().try_into()?; let index_in_encoded = index + array.offset(); @@ -289,7 +289,7 @@ pub unsafe fn unpack_single_primitive( let chunk_bytes = &packed[chunk_index * bytes_per_chunk..][0..bytes_per_chunk]; let index_in_chunk = index_to_decode % 1024; - ::try_unpack_single(chunk_bytes, bit_width, index_in_chunk) + T::try_unpack_single(chunk_bytes, bit_width, index_in_chunk) .map_err(|_| vortex_err!("Unsupported bit width {}", bit_width)) }