mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-02-22 02:25:32 +08:00
Improve copying bytes into aligned memory area
This commit is contained in:
parent
5df5eb2db2
commit
f7f9a131e4
@ -226,11 +226,10 @@ impl ArroySetVectors {
|
|||||||
frame: &FrameGrantR<'_>,
|
frame: &FrameGrantR<'_>,
|
||||||
vec: &'v mut Vec<f32>,
|
vec: &'v mut Vec<f32>,
|
||||||
) -> &'v [f32] {
|
) -> &'v [f32] {
|
||||||
vec.clear();
|
let embeddings_bytes = Self::embeddings_bytes(frame);
|
||||||
Self::embeddings_bytes(frame).chunks_exact(mem::size_of::<f32>()).for_each(|bytes| {
|
let embeddings_count = embeddings_bytes.len() / mem::size_of::<f32>();
|
||||||
let f = bytes.try_into().map(f32::from_ne_bytes).unwrap();
|
vec.resize(embeddings_count, 0.0);
|
||||||
vec.push(f);
|
bytemuck::cast_slice_mut(vec.as_mut()).copy_from_slice(embeddings_bytes);
|
||||||
});
|
|
||||||
&vec[..]
|
&vec[..]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user