Skip to content

LUCENE-9652: DataInput.readFloats for use by Lucene90VectorReader#2175

Merged
msokolov merged 3 commits intoapache:masterfrom
msokolov:LUCENE-9652
Jan 6, 2021
Merged

LUCENE-9652: DataInput.readFloats for use by Lucene90VectorReader#2175
msokolov merged 3 commits intoapache:masterfrom
msokolov:LUCENE-9652

Conversation

@msokolov
Copy link
Contributor

This adds DataInput.readFloats and makes use of it in Lucene90VectorReader. The implementation and tests are essentially cloned from readLELongs. With these changes I observed definite speedups, although not as much as I expected from microbenchmarking. There's a fair amount of variability, but I see at least 20%, sometimes as much as 40% reduction in time for HnswGraph.search, as measured by KnnGraphTester.

@uschindler
Copy link
Contributor

IMHO, as this is little endian, we should name the new method like the long one.
After we have changed everything to little endian we may change nsming, but as of now little endian is different to standard behavior, so it should be explicit.

@msokolov
Copy link
Contributor Author

msokolov commented Jan 4, 2021

IMHO, as this is little endian, we should name the new method like the long one.

Fair enough; I'll post an update soon.

@msokolov
Copy link
Contributor Author

msokolov commented Jan 5, 2021

I plan to push soon - @uschindler do you have any further comments?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants