Joel Knighton
Joel Knighton
These were regressions introduced several months ago in the implementation of improved query planning. The build method originally took a `ranges` argument that was called with `rangeIterators`, so these correctly...
This PR adds support for writing AA indexes. This also fixes several pre-existing issues with reading AA that were uncovered due to expanded test coverage. The entire test suite has...
There is a minor race in this test if the main thread runs collect and reaches the entry for key 3 before the executor starts running the update for key...
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....
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?