From af1946fcb5468e85142a4eff7e954e7a6d980530 Mon Sep 17 00:00:00 2001 From: Bang NGUYEN Date: Fri, 12 Jan 2024 09:35:35 +0100 Subject: [Attempt 1] Memory mapping + split by linebreak + multithreads + fast double parser (#330) * Create clones * Cleanup code and add memory mapping to read file * Fix chunks reading logic to fit linebreak * Remove unused * Sequential * Multi thread process chunks * Add new line in output * Remove unnecessary operation with map & reducer memory * Reduce mem usage by using only 1 map * formatting * Remove unnecessary length check * Remove trycatch * Optimize double parsing --- calculate_average_gnabyl.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 calculate_average_gnabyl.sh (limited to 'calculate_average_gnabyl.sh') diff --git a/calculate_average_gnabyl.sh b/calculate_average_gnabyl.sh new file mode 100755 index 0000000..14c449a --- /dev/null +++ b/calculate_average_gnabyl.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# +# Copyright 2023 The original authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Uncomment below to use sdk +# source "$HOME/.sdkman/bin/sdkman-init.sh" +# sdk use java 21.0.1-graal 1>&2 + +JAVA_OPTS="" +time java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gnabyl -- cgit v1.2.3