From 2a17ceac1ab5cdee98d20a928795a1aba06c8be7 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 27 Nov 2024 22:34:03 +0000 Subject: Replace sled with redb (Also replaces serde to bincode.) (#2) Reviewed-on: https://codeberg.org/lialenck/embeddings-sort/pulls/2 Co-authored-by: metamuffin Co-committed-by: metamuffin --- src/embedders/mod.rs | 4 ++-- src/embedders/pure.rs | 4 ++-- src/embedders/vecmetric.rs | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/embedders') 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> {} -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct AngularDistance(pub Vec); -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct EuclidianDistance(pub Vec); -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct ManhattenDistance(pub Vec); impl VecMetric for AngularDistance {} -- cgit v1.2.3-70-g09d2