1brc/src/main/java/dev/morling/onebrc
Thomas Wuerthinger a53aa2e6fd
Initial version for thomaswue with Oracle GraalVM Native Image
* Initial version.

* Make PGO feature optional off-by-default. Needs PGO_MODE environment
variable to be set. Add -O3 -march=native tuning flags for better
performance.

* Adjust script to be more quiet.

* Adjust max city length. Fix an issue when accumulating results.

* Tune thomaswue submission.
mmap the entire file, use Unsafe directly instead of ByteBuffer, avoid byte[] copies.
These tricks give a ~30% speedup, over an already fast implementation.

* Optimize parsing of numbers based on specific given constraints.

* Fix for segment calculation for case of very small input.

* Minor shell script fixes.

* Separate out build step into file additional_build_step_thomaswue.sh,
simplify run script and remove PGO option for now.

* Minor corrections to the run script.

---------

Co-authored-by: Alfonso² Peterssen <alfonso.peterssen@oracle.com>
2024-01-06 10:55:07 +01:00
..
CalculateAverage_abfrmblr.java 1 brc - 2gb memory 1 min 31 secs 2024-01-06 00:25:15 +01:00
CalculateAverage_anandmattikopp.java feat: first version of the 1brc solution 2024-01-05 11:24:14 +01:00
CalculateAverage_armandino.java armandino: first submission 2024-01-05 00:13:44 +01:00
CalculateAverage_artpar.java artpar's attempt 2024-01-05 23:28:38 +01:00
CalculateAverage_artsiomkorzun.java improved artsiomkorzun solution 2024-01-05 19:02:44 +01:00
CalculateAverage_bjhara.java Evaluating bjhara's entry 2024-01-02 20:43:46 +01:00
CalculateAverage_criccomini.java Adding Chris Riccomini's submission 2024-01-03 15:56:31 +01:00
CalculateAverage_davecom.java Add davecom Entry 2024-01-05 16:35:05 +01:00
CalculateAverage_ddimtirov.java ddimtirov - switched to the foreign memory access preview API for another 10% speedup 2024-01-03 21:04:44 +01:00
CalculateAverage_deemkeen.java initial deemkeen 2024-01-05 19:30:02 +01:00
CalculateAverage_ebarlas.java Implement imperative state machine for floating point parser rather then generic, adaptive loop. 2024-01-05 17:11:22 +01:00
CalculateAverage_fatroom.java fatroom's initial attempt 2024-01-05 11:30:18 +01:00
CalculateAverage_filiphr.java Use proper key for CalculateAverage_filiphr; 2024-01-05 17:54:08 +01:00
CalculateAverage_fragmede.java Custom atoi/atof parser logic, plus math changes. 2024-01-05 16:59:29 +01:00
CalculateAverage_gabrielreid.java gabrielreid's first attempt 2024-01-05 23:19:02 +01:00
CalculateAverage_isolgpus.java isolgpus: submission 1 2024-01-05 23:10:43 +01:00
CalculateAverage_itaske.java Adding a missing new line 2024-01-04 21:32:02 +01:00
CalculateAverage_jgrateron.java jgrateron: fix formatting 2024-01-04 23:56:47 +01:00
CalculateAverage_jotschi.java Adding Johannes Schüth's submission 2024-01-05 22:52:39 +01:00
CalculateAverage_khmarbaise.java Adding khmarbaise 2024-01-03 20:21:23 +01:00
CalculateAverage_kuduwa_keshavram.java Resolves #102 and Code Optimizations 2024-01-05 18:35:31 +01:00
CalculateAverage_lawrey.java Leaderboard update 2024-01-04 18:22:13 +01:00
CalculateAverage_moysesb.java Adding Moysés Borges Furtado's submission 2024-01-04 23:15:22 +01:00
CalculateAverage_naive.java Adding Sam Pullara's submission; 2024-01-03 15:35:51 +01:00
CalculateAverage_nstng.java Adding Nils Semmelrock's submission 2024-01-04 23:31:47 +01:00
CalculateAverage_padreati.java - implementation by padreati 2024-01-02 21:16:49 +01:00
CalculateAverage_palmr.java Pass newly added tests :fingers-crossed: 2024-01-04 23:54:04 +01:00
CalculateAverage_rby.java rby: Has some interesting optimisations but could be improved further with a custom hash map 2024-01-05 20:25:51 +01:00
CalculateAverage_richardstartin.java make aggregation state grow dynamically 2024-01-04 23:48:54 +01:00
CalculateAverage_royvanrijn.java Adding more speed improvements, going for first again. 2024-01-05 17:44:36 +01:00
CalculateAverage_seijikun.java seijikun: Fix new unit-test introduced with #125 2024-01-06 10:39:19 +01:00
CalculateAverage_spullara.java Updating Sam Pullara's entry 2024-01-04 19:14:06 +01:00
CalculateAverage_thomaswue.java Initial version for thomaswue with Oracle GraalVM Native Image 2024-01-06 10:55:07 +01:00
CalculateAverage_truelive.java CalculateAverage_truelive second attempt 2024-01-05 23:40:03 +01:00
CalculateAverage_twobiers.java Adjust buffer size to solve test failure in #125 2024-01-06 00:12:36 +01:00
CalculateAverage_Ujjwalbharti.java Added implementation for calculating average 2024-01-05 17:23:13 +01:00
CalculateAverage_yavuztas.java A solution with Actor Model concurrency and MappedByteBuffer 2024-01-05 23:50:58 +01:00
CalculateAverage_yemreinci.java Improve spullara's solution 2024-01-05 23:00:43 +01:00
CalculateAverage.java Initial implementation, using BufferedReader, parallel processing, combining everything in a single go, sorting afterwards (unoptimized) 2024-01-01 18:33:40 +01:00
CreateMeasurements2.java Auto reformat classes 2024-01-04 15:35:34 +01:00
CreateMeasurements3.java More detailed attribution 2024-01-06 10:35:44 +01:00
CreateMeasurements.java Usage of try-with-resources 2024-01-03 13:03:03 +01:00