From 36dac255cf2b36811c5fc9b6fc9ca37e17bc34b6 Mon Sep 17 00:00:00 2001 From: Markus Ebner Date: Fri, 5 Jan 2024 19:35:15 +0100 Subject: Update seijikun implementation * Use Integer calculation instead of double, add unit-test * Bring back StationIdent optimization Originally, StationIdent was using byte[] to store names, so the extra String allocation could be avoided. However, that produced incorrect sorting. Sorting is now moved to the result merging step. Here, names are converted to Strings. * Implement readStationName with SIMD 256bit * Rebase and cleanup test code, now that it's in the project * Fix seijikun formatting * Fix test failure in specific jobCnt edge-cases * Also switch to graalvm --- calculate_average_seijikun.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'calculate_average_seijikun.sh') diff --git a/calculate_average_seijikun.sh b/calculate_average_seijikun.sh index fbe68ad..5469b61 100755 --- a/calculate_average_seijikun.sh +++ b/calculate_average_seijikun.sh @@ -15,6 +15,7 @@ # limitations under the License. # - -JAVA_OPTS="--enable-preview" +JAVA_OPTS="-XX:+UseParallelGC --enable-preview --add-modules jdk.incubator.vector" +source "$HOME/.sdkman/bin/sdkman-init.sh" +sdk use java 21.0.1-graal 1>&2 time java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_seijikun -- cgit v1.2.3