Roy van Rijn: memory mapped files, branchless parsing, bitwiddle magic

Added SWAR (SIMD Within A Register) code to increase bytebuffer processing/throughput
Delaying the creation of the String by comparing hash, segmenting like spullara, improved EOL finding

Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
This commit is contained in:
Roy van Rijn
2024-01-03 20:44:24 +01:00
committed by GitHub
parent 0ba5cf33d4
commit 5570f1b60a
2 changed files with 290 additions and 40 deletions

View File

@@ -16,5 +16,11 @@
#
JAVA_OPTS=""
# Added for fun, doesn't seem to be making a difference...
if [ -f "target/calculate_average_royvanrijn.jsa" ]; then
JAVA_OPTS="-XX:SharedArchiveFile=target/calculate_average_royvanrijn.jsa -Xshare:on"
else
# First run, create the archive:
JAVA_OPTS="-XX:ArchiveClassesAtExit=target/calculate_average_royvanrijn.jsa"
fi
time java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_royvanrijn