Updating leaderboard, formatting, avoiding OOME
This commit is contained in:
parent
40acde7dd5
commit
32bef5ac96
@ -50,13 +50,15 @@ Submit your implementation by Jan 31 2024 and become part of the leaderboard!
|
||||
| | 00:14.411| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_deemkeen.java)| 21.0.1-open| [deemkeen](https://github.com/deemkeen)|
|
||||
| | 00:16.196| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artpar.java)| 21.0.1-open| [Parth Mudgal](https://github.com/artpar)|
|
||||
| | 00:17.905| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_lawrey.java)| 21.0.1-open| [Peter Lawrey](https://github.com/peter-lawrey)|
|
||||
| | 00:18.866| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java)| 21.0.1-graal| [Rafael Merino García](https://github.com/imrafaelmerino)|
|
||||
| | 00:18.789| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_palmr.java)| 21.0.1-open| [Nick Palmer](https://github.com/palmr)|
|
||||
| | 00:19.561| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gabrielreid.java)| 21.0.1-open| [Gabriel Reid](https://github.com/gabrielreid)|
|
||||
| | 00:22.709| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_seijikun.java)| 21.0.1-graal | [Markus Ebner](https://github.com/seijikun)|
|
||||
| | 00:23.078| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_richardstartin.java)| 21.0.1-open | [Richard Startin](https://github.com/richardstartin)|
|
||||
| | 00:24.351| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yavuztas.java)| 21.0.1-graal | [Yavuz Tas](https://github.com/yavuztas)|
|
||||
| | 00:24.879| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_davecom.java)| 21.0.1-open | [David Kopec](https://github.com/davecom)|
|
||||
| | 00:26.576| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_fatroom.java)| 21.0.1-open | [Roman Romanchuk ](https://github.com/fatroom)|
|
||||
| | 00:26.253| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_flippingbits.java)| 21.0.1-graal | [Stefan Sprenger](https://github.com/flippingbits)|
|
||||
| | 00:26.576| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_fatroom.java)| 21.0.1-open | [Roman Romanchuk](https://github.com/fatroom)|
|
||||
| | 00:27.787| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_nstng.java)| 21.0.1-open | [Nils Semmelrock](https://github.com/nstng)|
|
||||
| | 00:28.167| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_truelive.java)| 21.0.1-open | [Roman Schweitzer](https://github.com/truelive)|
|
||||
| | 00:32.764| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_moysesb.java)| 21.0.1-open | [Moysés Borges Furtado](https://github.com/moysesb)|
|
||||
@ -66,6 +68,7 @@ Submit your implementation by Jan 31 2024 and become part of the leaderboard!
|
||||
| | 00:50.547| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_padreati.java)| 21.0.1-open | [Aurelian Tutuianu](https://github.com/padreati)|
|
||||
| | 00:51.678| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_twobiers.java)| 21.0.1-tem | [Tobi](https://github.com/twobiers)|
|
||||
| | 00:53.679| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_criccomini.java)| 21.0.1-open | [Chris Riccomini](https://github.com/criccomini)|
|
||||
| | 00:59.377| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_hchiorean.java)| 21.0.1-open | [Horia Chiorean](https://github.com/hchiorean)|
|
||||
| | 01:24.721| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_Ujjwalbharti.java)| 21.0.1-open | [Ujjwal Bharti](https://github.com/Ujjwalbharti)|
|
||||
| | 01:27.912| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jgrateron.java)| 21.0.1-open | [Jairo Graterón](https://github.com/jgrateron)|
|
||||
| | 01:58.536| [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_kuduwa_keshavram.java)| 21.0.1-open | [Kuduwa Keshavram](https://github.com/kuduwa_keshavram)|
|
||||
|
2
calculate_average_hchiorean.sh
Normal file → Executable file
2
calculate_average_hchiorean.sh
Normal file → Executable file
@ -15,5 +15,5 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
JAVA_OPTS="-Xms1000M"
|
||||
JAVA_OPTS="-Xms1000M -Xmx16G"
|
||||
time java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_hchiorean
|
||||
|
@ -104,8 +104,7 @@ public class CalculateAverage_imrafaelmerino {
|
||||
}
|
||||
|
||||
private static Map<String, Stat> calculateStats(String file,
|
||||
long chunkSize
|
||||
)
|
||||
long chunkSize)
|
||||
throws IOException {
|
||||
|
||||
try (var fileChannel = FileChannel.open(Paths.get(file),
|
||||
@ -122,8 +121,7 @@ public class CalculateAverage_imrafaelmerino {
|
||||
}
|
||||
|
||||
private static Map<String, Stat> combine(Map<String, Stat> xs,
|
||||
Map<String, Stat> ys
|
||||
) {
|
||||
Map<String, Stat> ys) {
|
||||
|
||||
Map<String, Stat> result = new HashMap<>();
|
||||
|
||||
@ -173,8 +171,7 @@ public class CalculateAverage_imrafaelmerino {
|
||||
}
|
||||
|
||||
private static Stream<ByteBuffer> fileMemoryStream(FileChannel fileChannel,
|
||||
long chunkSize
|
||||
)
|
||||
long chunkSize)
|
||||
throws IOException {
|
||||
|
||||
var spliterator = Spliterators.spliteratorUnknownSize(fileMemoryIterator(fileChannel,
|
||||
@ -203,12 +200,14 @@ public class CalculateAverage_imrafaelmerino {
|
||||
Math.min(chunkSize,
|
||||
size - start));
|
||||
var limmit = buffer.limit() - 1;
|
||||
while (buffer.get(limmit) != '\n') limmit--;
|
||||
while (buffer.get(limmit) != '\n')
|
||||
limmit--;
|
||||
limmit++;
|
||||
buffer.limit(limmit);
|
||||
start += limmit;
|
||||
return buffer;
|
||||
} catch (IOException ex) {
|
||||
}
|
||||
catch (IOException ex) {
|
||||
throw new UncheckedIOException(ex);
|
||||
}
|
||||
}
|
||||
@ -223,8 +222,7 @@ public class CalculateAverage_imrafaelmerino {
|
||||
private long count = 0L;
|
||||
|
||||
public static Stat combine(Stat m1,
|
||||
Stat m2
|
||||
) {
|
||||
Stat m2) {
|
||||
var stat = new Stat();
|
||||
stat.min = Math.min(m1.min, m2.min);
|
||||
stat.max = Math.max(m1.max, m2.max);
|
||||
@ -256,7 +254,8 @@ public class CalculateAverage_imrafaelmerino {
|
||||
try {
|
||||
ForkJoinPool.managedBlock(managedBlocker);
|
||||
return managedBlocker.getResult();
|
||||
} catch (InterruptedException e) {
|
||||
}
|
||||
catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user