aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java
diff options
context:
space:
mode:
authorDr Ian Preston <157221403+ianopolousfast@users.noreply.github.com>2024-01-28 21:39:17 +0000
committerGitHub <noreply@github.com>2024-01-28 22:39:17 +0100
commit3a790c99b9d8c4c4ede49f73503e8ba3bf0a64aa (patch)
tree6b33f5b925fdd2d7c154f910eb651bf371bf588e /src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java
parentbb9bc68e4111f5a67ff3931d634bd8815ad9c97a (diff)
Reduce preferred vector size (#622)
Co-authored-by: Ian Preston <ianopolous@protonmail.com>
Diffstat (limited to 'src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java')
-rw-r--r--src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java10
1 files 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> BYTE_SPECIES = ByteVector.SPECIES_PREFERRED.length() >= 32
- ? ByteVector.SPECIES_256
- : ByteVector.SPECIES_128;
+ private static final VectorSpecies<Byte> 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()) {