aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Leaderboard updateGunnar Morling2024-01-031-7/+9
|
* Adding khmarbaiseKarl Heinz Marbaise2024-01-032-0/+80
|
* Adding seijikun's submissionMarkus Ebner2024-01-032-0/+241
|
* doc: document flamegraph generation with jbangMax Rydahl Andersen2024-01-031-1/+13
|
* Updating leaderboardGunnar Morling2024-01-031-8/+9
|
* Adding Nick Palmer's submission;Nick Palmer2024-01-032-0/+270
| | | | | | | | | | | | | | | | | | | | | | | | | * Memory mapped file, single-pass parsing, custom hash map, fixed thread pool The threading was a hasty addition and needs work * Used arraylist instead of treemap to reduce a little overhead We only need it sorted for output, so only construct a treemap for output * Attempt to speed up double conversion * Cap core count for low-core systems * Fix wrong exponent * Accumulate measurement value in double, seems marginally faster Benchmark Mode Cnt Score Error Units DoubleParsingBenchmark.ourToDouble thrpt 10 569.771 ± 7.065 ops/us DoubleParsingBenchmark.ourToDoubleAccumulateInToDouble thrpt 10 648.026 ± 7.741 ops/us DoubleParsingBenchmark.ourToDoubleDivideInsteadOfMultiply thrpt 10 570.412 ± 9.329 ops/us DoubleParsingBenchmark.ourToDoubleNegative thrpt 10 512.618 ± 8.580 ops/us DoubleParsingBenchmark.ourToDoubleNegativeAccumulateInToDouble thrpt 10 565.043 ± 18.137 ops/us DoubleParsingBenchmark.ourToDoubleNegativeDivideInsteadOfMultiply thrpt 10 511.228 ± 13.967 ops/us DoubleParsingBenchmark.stringToDouble thrpt 10 52.310 ± 1.351 ops/us DoubleParsingBenchmark.stringToDoubleNegative thrpt 10 50.785 ± 1.252 ops/us
* Add note about sharing non-Java solutions on GH discussions;Robin Moffatt2024-01-031-2/+5
| | | | | Also fixing millisecond separator Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
* Leaderboard updateGunnar Morling2024-01-031-8/+9
|