diff options
author | metamuffin <metamuffin@disroot.org> | 2024-11-27 22:34:03 +0000 |
---|---|---|
committer | lialenck <lialenck@noreply.codeberg.org> | 2024-11-27 22:34:03 +0000 |
commit | 2a17ceac1ab5cdee98d20a928795a1aba06c8be7 (patch) | |
tree | 1c5c31e238870776dc324a91ddface2ae15e050a /src/embedders | |
parent | 467674743fb638ea56713aecc719a80505b82a17 (diff) | |
download | embeddings-sort-2a17ceac1ab5cdee98d20a928795a1aba06c8be7.tar embeddings-sort-2a17ceac1ab5cdee98d20a928795a1aba06c8be7.tar.bz2 embeddings-sort-2a17ceac1ab5cdee98d20a928795a1aba06c8be7.tar.zst |
Replace sled with redb (Also replaces serde to bincode.) (#2)
Reviewed-on: https://codeberg.org/lialenck/embeddings-sort/pulls/2
Co-authored-by: metamuffin <metamuffin@disroot.org>
Co-committed-by: metamuffin <metamuffin@disroot.org>
Diffstat (limited to 'src/embedders')
-rw-r--r-- | src/embedders/mod.rs | 4 | ||||
-rw-r--r-- | src/embedders/pure.rs | 4 | ||||
-rw-r--r-- | src/embedders/vecmetric.rs | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/embedders/mod.rs b/src/embedders/mod.rs index 1a1721d..83484a1 100644 --- a/src/embedders/mod.rs +++ b/src/embedders/mod.rs @@ -6,12 +6,12 @@ pub(crate) use pure::*; pub(crate) use vecmetric::*; use anyhow::Result; +use bincode::{Decode, Encode}; use indicatif::{ParallelProgressIterator, ProgressStyle}; use rayon::prelude::*; -use serde::{Deserialize, Serialize}; use std::path::{Path, PathBuf}; -pub trait MetricElem: Send + Sync + 'static + Serialize + for<'a> Deserialize<'a> { +pub trait MetricElem: Send + Sync + 'static + Encode + Decode { fn dist(&self, _: &Self) -> f64; } diff --git a/src/embedders/pure.rs b/src/embedders/pure.rs index 09c8321..531368c 100644 --- a/src/embedders/pure.rs +++ b/src/embedders/pure.rs @@ -1,5 +1,5 @@ use anyhow::{bail, Result}; -use serde::{Deserialize, Serialize}; +use bincode::{Decode, Encode}; use std::path::Path; use crate::{EmbedderT, MetricElem}; @@ -22,7 +22,7 @@ impl EmbedderT for BrightnessEmbedder { } #[repr(transparent)] -#[derive(Serialize, Deserialize)] +#[derive(Encode, Decode)] pub(crate) struct Hue(f64); impl MetricElem for Hue { fn dist(&self, b: &Hue) -> f64 { diff --git a/src/embedders/vecmetric.rs b/src/embedders/vecmetric.rs index 9f2f143..65d71df 100644 --- a/src/embedders/vecmetric.rs +++ b/src/embedders/vecmetric.rs @@ -1,13 +1,13 @@ use super::MetricElem; -use serde::{Deserialize, Serialize}; +use bincode::{Decode, Encode}; pub trait VecMetric: MetricElem + From<Vec<f32>> {} -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct AngularDistance(pub Vec<f32>); -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct EuclidianDistance(pub Vec<f32>); -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct ManhattenDistance(pub Vec<f32>); impl VecMetric for AngularDistance {} |