aboutsummaryrefslogtreecommitdiff
path: root/src/embedders
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-11-27 22:34:03 +0000
committerlialenck <lialenck@noreply.codeberg.org>2024-11-27 22:34:03 +0000
commit2a17ceac1ab5cdee98d20a928795a1aba06c8be7 (patch)
tree1c5c31e238870776dc324a91ddface2ae15e050a /src/embedders
parent467674743fb638ea56713aecc719a80505b82a17 (diff)
downloadembeddings-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.rs4
-rw-r--r--src/embedders/pure.rs4
-rw-r--r--src/embedders/vecmetric.rs8
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 {}