jvector icon indicating copy to clipboard operation
jvector copied to clipboard

JVector: the most advanced embedded vector search engine

Results 20 jvector issues
Sort by recently updated
recently updated
newest added

GraphIndexBuilder uses explicit thread-locals to pool GraphSearchers. It closes these GraphSearchers, which closes their views, which causes active view tracking to malfunction for OnHeapGraphIndex. If we update GraphIndexBuilder to not...

The View interface returns a unique object for every call to getVector, but the object returned by getNeighborsIterator is only guaranteed to be usable until the next call to getNeighborsIterator....

The interaction between threshold and topk is confusing, it's almost "stop the search whichever comes first", but not quite, because we don't actually start accumulating results towards topk until we...

Our existing test runners only support AVX-2. As we broaden our usage of AVX-512 via FFM, we should have AVX-512 test runners to catch issues via CI.

We should evaluate the benefits of using mapped memory segments in NativeVectorizationProvider for vectors fetched from disk. This should save some overhead from creating/copying vectors between mmapped regions and off-heap...

In some cases, we are using VectorFloat as a simple container for a sequence of floats. Differentiating these cases from indexed vectors should make APIs cleaner and harder to misuse.

It's cleaner for VectorTypeSupport to be about the abstractions. We should move these methods to the RAR with any other support needed to deliver good implementations.

Is there any reason to retain non-offset implementations of squareDistance/cosine/dotProduct rather than calling them with 0 offsets/vector length?

``` Class Alloc Total Total Allocation (%) java.util.stream.Streams$RangeIntSpliterator 5.451412584E9 B 5.689031479663838 % java.lang.Integer 4.968375648E9 B 5.184939688334407 % ``` as I understand RangeIntSpliterator are coming from IntStream.range, so are many Integers

This is ugly and potentially error-prone: ``` // This method never calls acceptOrds.length(), so the length-free Bits.ALL may be passed in. ```