2 ms·
Lucene here just dealing with plain float[]s, so Valhalla at least shouldn't affect it much. It seems the limiting thing here is that it has sum accumulators, w
by dzaima 3y ago
Lucene here just dealing with plain float[]s, so Valhalla at least shouldn't affect it much. It seems the limiting thing here is that it has sum accumulators, which the optimizer can't reorder because addition isn't associative.
(for reference: scalar impl: https://github.com/ChrisHegarty/lucene/blob/dd4eaac9af346a21fca3c79ac989e368754c583e/lucene/core/src/java/org/apache/lucene/util/VectorUtilDefaultProvider.java https://github.com/ChrisHegarty/lucene/blob/dd4eaac9af346a21... and SIMD impl: https://github.com/ChrisHegarty/lucene/blob/dd4eaac9af346a21fca3c79ac989e368754c583e/lucene/core/src/java20/org/apache/lucene/util/VectorUtilPanamaProvider.java https://github.com/ChrisHegarty/lucene/blob/dd4eaac9af346a21...)