aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev
Commit message (Collapse)AuthorAgeFilesLines
* Adjust buffer size to solve test failure in #125twobiers2024-01-061-1/+1
|
* A solution with Actor Model concurrency and MappedByteBufferYavuz Tas2024-01-051-0/+287
| | | | | | | | | | | | | | | | | | | * A solution with Actor Model concurrency and MappedByteBuffer * fix test cases * revert back the file name to original * cache String hashCode calculation via composing with Key object * fix wrong key caching and eleminate duplicate String creation between actors * update possible char count in a line, fix calculate_average.sh * increase possible line length to 256 bytes, much safer to cover 100 chars I hope --------- Co-authored-by: Yavuz Tas <yavuz.tas@ing.com>
* CalculateAverage_truelive second attemptRoman Schweitzer2024-01-051-67/+37
| | | | | | | | | | | | | | | | | * cleanup * getDouble new double parser * parseBuffer more reliable * use graalvm to execute * cleanup * cleanup * fix formatting * fix graalvm init and launch script
* artpar's attempt Parth Mudgal2024-01-051-0/+376
| | | | | | | | | | | | | | | | | | | | | | | | * artpar's attempt * artpar's attempt * remove int -> Integer conversions, custom parsing for measurements * remove allocations by caching station names also remove Integer and use int instead to remove valueOf calls * Fix result mismatch errors * parse int instead of double * reduce time spent reading the mapped buffer * cleanup unused memory * less is faster ? vector addition doesn't look worth it * backout from virtual threads as well * Fix breaking tests
* gabrielreid's first attemptgreid2024-01-051-0/+457
| | | | | | | | | Somewhat mixed collection of multiple ideas, mostly based initially on using the new JDK Vector API for extracting offsets of newlines and semicolons. Runs locally in just under 11 seconds on 1B rows of input on a 2020 M1 Macbook Air.
* isolgpus: submission 1Jamie Stansfield2024-01-051-0/+293
| | | | | | | | | | | | | | | | | | | | | | | * isolgpus: submission 1 * isolgpus: fix min value bug (breaks if a negative temperature never appears) * isolgpus: remove unused collector * isolgpus: fix split on chunk bug * isolgpus: change name equality algo to a cheaper check. * isolgpus: fix chunking state to cope with last byte of last chunk * isolgpus: hash as we go, instead of at the end * isolgpus: adjust thread count to core count * isolgpus: change cores to 8 statically --------- Co-authored-by: Jamie Stansfield <jalstansfield@gmail.com>
* Improve spullara's solutionYunus Inci2024-01-051-0/+217
|
* Adding Johannes Schüth's submissionJohannes Schüth2024-01-051-0/+214
|
* rby: Has some interesting optimisations but could be improved further with a ↵Ramzi Ben Yahya2024-01-051-0/+223
| | | | | | | | | custom hash map * rby: Could be improved with a custom hashmap * Flag not needed * Fixes the tests when running ./test.sh rby
* Twobier's submissionTobi2024-01-051-0/+295
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First performance tweaks * further tweaks * collect into a treemap * Tweak JVM options * Inline rounding into collector * reduce some operations * oops, add missing braces * tweak JVM options * small fixes * add min and max to processing * fix min * remove compact strings * replace sumWithCompensation with naive sum implementation * use UseShenandoahGC * integrate mmap * integrate mmap * Fix messed up array logic * Set jdk version
* Update seijikun implementationMarkus Ebner2024-01-051-76/+145
| | | | | | | | | | | | | | | | | | | | | * Use Integer calculation instead of double, add unit-test * Bring back StationIdent optimization Originally, StationIdent was using byte[] to store names, so the extra String allocation could be avoided. However, that produced incorrect sorting. Sorting is now moved to the result merging step. Here, names are converted to Strings. * Implement readStationName with SIMD 256bit * Rebase and cleanup test code, now that it's in the project * Fix seijikun formatting * Fix test failure in specific jobCnt edge-cases * Also switch to graalvm
* initial deemkeendeemkeen2024-01-051-0/+264
|
* improved artsiomkorzun solutionArtsiom Korzun2024-01-051-138/+137
|
* Resolves #102 and Code OptimizationsKeshavram Kuduwa2024-01-051-44/+106
|
* Use proper key for CalculateAverage_filiphr;Filip Hrisafov2024-01-051-23/+108
| | | | | * Revert using hash as a key * Use custom key with Arrays#equals as a key in the Map of measurements * Add sdk use java in the calculate script
* Adding more speed improvements, going for first again.Roy van Rijn2024-01-051-214/+164
| | | | Updating script
* Added implementation for calculating averageUjjwal Bharti2024-01-051-0/+193
|
* Implement imperative state machine for floating point parser rather then ↵Elliot Barlas2024-01-051-28/+35
| | | | generic, adaptive loop.
* Custom atoi/atof parser logic, plus math changes.Samson Yeung2024-01-051-0/+109
| | | | | This commit uses a custom atoi function that converts 12.4 to 124 so we can do integer math instead of using doubles.
* Add davecom Entry David Kopec2024-01-051-0/+208
|
* fatroom's initial attempt Roman Romanchuk2024-01-051-0/+141
| | | | | | | | | | | | | * Initial attempt * Fixed temperature parsing * Switched to memory mapped files * Fixed rounding issues * Inline of temperature reading * Fixed output rounding
* feat: first version of the 1brc solutionanandmattikopp2024-01-051-0/+74
|
* armandino: first submissionArman Sharif2024-01-051-0/+241
|
* jgrateron: fix formattingAlexander Yastrebov2024-01-041-2/+2
| | | | Followup on #69
* Pass newly added tests :fingers-crossed:Nick Palmer2024-01-041-17/+33
|
* Attempt nicer threading via streams and spliteratorsNick Palmer2024-01-041-132/+102
|
* make aggregation state grow dynamicallyRichard Startin2024-01-041-18/+26
|
* add implementation jgrateronjairo2024-01-041-0/+166
|
* Adding Nils Semmelrock's submissionNils Semmelrock2024-01-041-0/+271
| | | nothing fancy, just work on chunks in parallel and optimize bottlenecks
* Updating Roy's submissionRoy van Rijn2024-01-041-68/+215
| | | | | | | | | | | | | | | | | * 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-041-0/+201
|
* Adding a missing new lineGunnar Morling2024-01-041-1/+1
|
* Elliot Barlas: Use proper hash key collision detection schemeElliot Barlas2024-01-041-30/+67
| | | | | | | * 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.
* Updating Sam Pullara's entrySam Pullara2024-01-041-171/+151
|
* FormattingGunnar Morling2024-01-041-9/+14
|
* Adding artsiomkorzun's solutionartsiomkorzun2024-01-041-0/+354
|
* 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-042-16/+21
|
* 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-041-0/+215
|
* Auto reformat classesFilip Hrisafov2024-01-044-59/+66
|
* ddimtirov - switched to the foreign memory access preview API for another ↵Dimitar Dimitrov2024-01-031-59/+67
| | | | 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-031-0/+131
|
* Roy van Rijn: memory mapped files, branchless parsing, bitwiddle magicRoy van Rijn2024-01-031-34/+278
| | | | | | 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-031-0/+413
|
* Adding filiphr's submission;Filip Hrisafov2024-01-031-0/+235
| | | | | | | | | | | * 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