aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* make aggregation state grow dynamicallyRichard Startin2024-01-041-18/+26
|
* test: use temperature value of 1.0Alexander Yastrebov2024-01-042-10001/+10001
| | | | | | | | | | | In case of key collision broken implementation will likely attribute measurements to the wrong key and therefore it is better to have non-zero value to end up with a wrong average value. When all measurements are zero then averages are also zero even when attributed to the wrong keys. Updates #91
* add implementation jgrateronjairo2024-01-042-0/+186
|
* Adding Nils Semmelrock's submissionNils Semmelrock2024-01-042-0/+290
| | | nothing fancy, just work on chunks in parallel and optimize bottlenecks
* Updating Roy's submissionRoy van Rijn2024-01-042-69/+216
| | | | | | | | | | | | | | | | | * Added tests for endian-calculations (had these in a different class, perhaps handy for others to see as well) Inlined the hash function, runs locally in 2.4sec now, hopefully endian issues fix Added equals to support any city name up to 1024 in length, don't rely on hash * For clarity I've updated the code so endian doesn't change the hashes, easier to debug. * Fixing bug in array check Simple is faster * Also spotted the diff, not just the big exception Fixed buffer limit issue
* Adding Moysés Borges Furtado's submissionMoysés Borges Furtado2024-01-042-0/+221
|
* #63 CI build should fail if formatting is incorrectFilip Hrisafov2024-01-042-1/+21
|
* Leaderboard updateGunnar Morling2024-01-041-1/+1
|
* test: add sample with 10k unique keysAlexander Yastrebov2024-01-043-1/+10002
| | | | | | | | | | | | | Input created via ```sh bash -c 'for i in {1..10000} ; do echo "id$i;0.0" ; done' >./src/test/resources/samples/measurements-10000-unique-keys.txt ``` and output via baseline implementation. Keys are short and very similar which improves chances for collision and hence are good for testing. Fixes #91
* Adding a missing new lineGunnar Morling2024-01-041-1/+1
|
* Disabling GC logging for conformance with test runnerGunnar Morling2024-01-041-1/+1
|
* test: add script to test all implementationsAlexander Yastrebov2024-01-043-10/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The script tests all implementations and prints PASS or FAIL status. In case of failure it also prints implementation output to stderr. This will be handy for adding new test samples. Show test statuses and omit failing output: ```sh $ ./test_all.sh 2>/dev/null PASS artsiomkorzun PASS baseline PASS bjhara PASS criccomini FAIL ddimtirov FAIL ebarlas PASS filiphr FAIL itaske PASS khmarbaise FAIL kuduwa-keshavram FAIL lawrey PASS padreati FAIL palmr PASS richardstartin FAIL royvanrijn FAIL seijikun PASS spullara PASS truelive ``` Show only passing implementations: ``` $ ./test_all.sh 2>/dev/null | grep PASS | cut -d' ' -f2 artsiomkorzun baseline bjhara criccomini filiphr khmarbaise padreati richardstartin spullara truelive ``` For #61
* Update README.mdGunnar Morling2024-01-041-0/+1
|
* Leaderboard updateGunnar Morling2024-01-041-13/+14
|
* Elliot Barlas: Use proper hash key collision detection schemeElliot Barlas2024-01-042-31/+68
| | | | | | | * Use open-addressing scheme to deal with hash table collisions. Reduce concurrency from 16 to 8. Use bit mask rather than mod operator to confine hash code to table range. * Properly handle file partitions that reside entirely within a line. * Reorder statements in doProcessBuffer.
* #94 Name fixGunnar Morling2024-01-041-1/+1
|
* Leaderboard updateGunnar Morling2024-01-041-16/+15
|
* Fix baseline script nameAlexander Yastrebov2024-01-041-3/+3
|
* Leaderboard updateGunnar Morling2024-01-041-15/+16
|
* Updating Sam Pullara's entrySam Pullara2024-01-042-171/+152
|
* FormattingGunnar Morling2024-01-041-9/+14
|
* Adding artsiomkorzun's solutionartsiomkorzun2024-01-042-0/+374
|
* Manually compute temperature value instead of using Long.parseLongFilip Hrisafov2024-01-041-8/+14
|
* Use a hash key for the city as a key in the mapFilip Hrisafov2024-01-041-22/+40
|
* Use long parse and use char array instead of CharBuffer for adding to itFilip Hrisafov2024-01-041-13/+15
|
* Leaderboard updateGunnar Morling2024-01-044-29/+36
|
* Richard Startin: Adopt @spullara's double parsing code;Richard Startin2024-01-041-49/+28
| | | | * increase chunk size * simplify and tune parameters
* Adding Peter Lawrey's submissionPeter Lawrey2024-01-042-0/+235
|
* Updating ignore fileGunnar Morling2024-01-041-0/+3
|
* Fixing wrong expected valueGunnar Morling2024-01-041-1/+1
|
* Expanding tests and eval infraGunnar Morling2024-01-0411-3/+104
|
* Auto reformat classesFilip Hrisafov2024-01-044-59/+66
|
* Use enable-preview via compiler argument option in the maven-compiler-plugin ↵Filip Hrisafov2024-01-041-1/+6
| | | | because IntelliJ does not recognize the configuration option
* Clarifying maximum number of distinct station namesGunnar Morling2024-01-041-0/+1
|
* Adding test loopGunnar Morling2024-01-042-1/+38
|
* test: add test samplesAlexander Yastrebov2024-01-047-1/+17
| | | | | | | | | | | | | | | | | | Adds test samples that can be used for unit tests or to verify implementations via: ```bash for sample in $(ls src/test/resources/samples/*.txt) do echo "Validating $sample" rm -f measurements.txt ln -s $sample measurements.txt diff <(./calculate_average.sh) ${sample%.txt}.out done rm measurements.txt ``` For #61
* Link async-profiler and ap-loader in the READMEJohannes Bechberger2024-01-041-1/+2
|
* FAQ: OS clarificationGunnar Morling2024-01-041-1/+4
|
* Rule and value range clarificationsGunnar Morling2024-01-041-1/+5
|
* Updating leaderboard;Gunnar Morling2024-01-041-16/+14
| | | Removing two solutions from the leaderboard temporarily, as they violated the "must work with all station names" rule and are prone to hash collisions for names not in the current data set. Will bring them back once these submissions have been updated.
* Leaderboard updateGunnar Morling2024-01-031-3/+3
|
* Running ebarlas solution with GraalVM CE 21.0.1 Elliot Barlas2024-01-032-2/+2
|
* Leaderboard updateGunnar Morling2024-01-031-13/+16
|
* ddimtirov - switched to the foreign memory access preview API for another ↵Dimitar Dimitrov2024-01-032-61/+70
| | | | 10% speedup
* ddimtirov - lifted parallel mmapped i/o from Sam Pullara's implementationDimitar Dimitrov2024-01-031-175/+129
|
* ddimtirov - single-threaded datastructures tuning - reading to char buffers, ↵Dimitar Dimitrov2024-01-031-78/+193
| | | | one pass, no allocation processing
* ddimtirov - fixpoint, objects, streams and stringsDimitar Dimitrov2024-01-032-0/+151
|
* Roy van Rijn: memory mapped files, branchless parsing, bitwiddle magicRoy van Rijn2024-01-032-35/+285
| | | | | | 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>
* richardstartin submissionRichard Startin2024-01-032-0/+433
|
* Adding filiphr's submission;Filip Hrisafov2024-01-032-0/+257
| | | | | | | | | | | * Initial implementation using Shenandoah GC and parallel iteration * Use memory mapped files * Iterate the buffer once and use BigDecimal parsing instead of Double.parseDouble * Add information about Graal * Add sdk use to calculate script