aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Merino GarcĂ­a <imrafaelmerino@gmail.com>2024-01-12 19:02:31 +0100
committerGunnar Morling <gunnar.morling@googlemail.com>2024-01-12 21:11:44 +0100
commitab9d64b3e384f252de13ad058cd33c305439713d (patch)
treea5701590706f039ed254066101ba9d238dd2245d
parent9e5ec513150fff1b2ea4ea9aa0111ff099c5f28b (diff)
second try: just testing with the chunk size and gc tunning
-rwxr-xr-xcalculate_average_imrafaelmerino.sh4
-rw-r--r--src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java1
2 files changed, 3 insertions, 2 deletions
diff --git a/calculate_average_imrafaelmerino.sh b/calculate_average_imrafaelmerino.sh
index 162a308..58b72a2 100755
--- a/calculate_average_imrafaelmerino.sh
+++ b/calculate_average_imrafaelmerino.sh
@@ -15,7 +15,7 @@
# limitations under the License.
#
-JAVA_OPTS=""
-CHUNK_SIZE=$((8 * 1024 * 1024))
+JAVA_OPTS="-Xms1024m -Xms1024m -XX:+UseParallelGC -XX:MaxHeapFreeRatio=10 -XX:ParallelGCThreads=2"
+CHUNK_SIZE=$((50 * 1024 * 1024))
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar \
dev.morling.onebrc.CalculateAverage_imrafaelmerino $CHUNK_SIZE
diff --git a/src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java b/src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java
index 303e9ff..4777fd9 100644
--- a/src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java
+++ b/src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java
@@ -144,6 +144,7 @@ public class CalculateAverage_imrafaelmerino {
var field = new byte[FIELD_SIZE];
while (bb.position() < limit) {
var fieldCurrentIndex = 0;
+ field[fieldCurrentIndex++] = bb.get();
while (bb.position() < limit) {
var fieldByte = bb.get();
if (fieldByte == ';')