diff --git a/jvector-base/src/main/java/io/github/jbellis/jvector/pq/BQVectors.java b/jvector-base/src/main/java/io/github/jbellis/jvector/pq/BQVectors.java index bc7748bb0..48255c7bb 100644 --- a/jvector-base/src/main/java/io/github/jbellis/jvector/pq/BQVectors.java +++ b/jvector-base/src/main/java/io/github/jbellis/jvector/pq/BQVectors.java @@ -108,6 +108,11 @@ public int getCompressedSize() { return compressedVectors[0].length * Long.BYTES; } + @Override + public VectorCompressor getCompressor() { + return bq; + } + @Override public long ramBytesUsed() { return compressedVectors.length * RamUsageEstimator.sizeOf(compressedVectors[0]); diff --git a/jvector-base/src/main/java/io/github/jbellis/jvector/pq/CompressedVectors.java b/jvector-base/src/main/java/io/github/jbellis/jvector/pq/CompressedVectors.java index 1b26fa9b5..cdfcf9e86 100644 --- a/jvector-base/src/main/java/io/github/jbellis/jvector/pq/CompressedVectors.java +++ b/jvector-base/src/main/java/io/github/jbellis/jvector/pq/CompressedVectors.java @@ -38,4 +38,7 @@ public interface CompressedVectors extends Accountable { /** @return the compressed size of the vectors, in bytes */ int getCompressedSize(); + + /** @return the compressor used by this instance */ + VectorCompressor getCompressor(); } diff --git a/jvector-base/src/main/java/io/github/jbellis/jvector/pq/PQVectors.java b/jvector-base/src/main/java/io/github/jbellis/jvector/pq/PQVectors.java index b29f69503..a28a6c66a 100644 --- a/jvector-base/src/main/java/io/github/jbellis/jvector/pq/PQVectors.java +++ b/jvector-base/src/main/java/io/github/jbellis/jvector/pq/PQVectors.java @@ -135,6 +135,11 @@ public int getCompressedSize() { return pq.codebooks.length; } + @Override + public VectorCompressor getCompressor() { + return pq; + } + @Override public long ramBytesUsed() { long codebooksSize = pq.memorySize();