From 3a790c99b9d8c4c4ede49f73503e8ba3bf0a64aa Mon Sep 17 00:00:00 2001 From: Dr Ian Preston <157221403+ianopolousfast@users.noreply.github.com> Date: Sun, 28 Jan 2024 21:39:17 +0000 Subject: [PATCH] Reduce preferred vector size (#622) Co-authored-by: Ian Preston --- .../onebrc/CalculateAverage_ianopolousfast.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java b/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java index 28f62a4..417abcf 100644 --- a/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java +++ b/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java @@ -49,9 +49,9 @@ public class CalculateAverage_ianopolousfast { public static final int MAX_LINE_LENGTH = 107; public static final int MAX_STATIONS = 1 << 14; private static final OfLong LONG_LAYOUT = JAVA_LONG_UNALIGNED.withOrder(ByteOrder.BIG_ENDIAN); - private static final VectorSpecies BYTE_SPECIES = ByteVector.SPECIES_PREFERRED.length() >= 32 - ? ByteVector.SPECIES_256 - : ByteVector.SPECIES_128; + private static final VectorSpecies BYTE_SPECIES = ByteVector.SPECIES_PREFERRED.length() >= 16 + ? ByteVector.SPECIES_128 + : ByteVector.SPECIES_64; public static void main(String[] args) throws Exception { Arena arena = Arena.global(); @@ -132,7 +132,7 @@ public class CalculateAverage_ianopolousfast { if (keySize <= 8) { first8 = maskHighBytes(first8, keySize & 0x07); } - else if (keySize <= 16) { + else if (keySize < 16) { second8 = maskHighBytes(buffer.get(LONG_LAYOUT, lineStart + 8), keySize & 0x07); } else if (keySize == BYTE_SPECIES.vectorByteSize()) { @@ -182,7 +182,7 @@ public class CalculateAverage_ianopolousfast { if (keySize <= 8) { first8 = maskHighBytes(first8, keySize & 0x07); } - else if (keySize <= 16) { + else if (keySize < 16) { second8 = maskHighBytes(buffer.get(LONG_LAYOUT, lineStart + 8), keySize & 0x07); } else if (keySize == BYTE_SPECIES.vectorByteSize()) {