aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* b1rc challenge by @jeevjyot (#551)Jeevjyot Singh Chhabda2024-01-232-0/+126
| | | | | | | | | | | | | | | * b1rc challenge * fixed a rounding error * added the file back * fixed file * removed a file --------- Co-authored-by: Jeevjyot Singh Chhabda <jeevjyotsinghchhabda@Jeevjyots-MBP.hsd1.ca.comcast.net>
* jerrinot's improvement - fast-path for short keys (#545)Jaromir Hamala2024-01-231-160/+273
| | | | | | | | | | | * fast-path for keys<16 bytes * fix off by one error the mask is wrong for he 2nd word when len == 16 * less chunks per thread seems like compact code wins. on my test box anyway.
* Add 1brc solution by @makohn (#544)Marek Kohn2024-01-232-0/+306
|
* Added environment docs (#555)Rene Schwietzke2024-01-231-0/+92
| | | | | * Create ENVIRONMENT.md * More intel added
* Leaderboard updateGunnar Morling2024-01-231-4/+5
|
* use thomaswue trick, use parallelism, slightly faster (#560)Van Phu DO2024-01-232-64/+97
|
* Use simd for name comparison (#568)Dr Ian Preston2024-01-231-87/+32
| | | Co-authored-by: Ian Preston <ianopolous@protonmail.com>
* tonivade implementation (try 2) (#541)Antonio Muñoz2024-01-233-0/+307
| | | | | | | | | | | | | | | | | * tonivade implementation * synchronized block performs better than ReentrantLock * remove ConcurrentHashMap * refactor * use HashMap.newHashMap * change double to int * minor refactor * fix
* Inline and optimize value parsing code for each of the four semicolon ↵Elliot Barlas2024-01-231-47/+112
| | | | position processing branches. This provides a small but noticeable speed-up. It also expands and obfuscates the code, unfortunately. (#563)
* Update README.md to add the _baseline (#552)Sarkie2024-01-221-1/+1
|
* evaluate.sh: Add note for "using Unsafe" (#547)Jason Nochlin2024-01-222-28/+34
| | | | | | | | | | | | | * fix typo * automatically label entries using Unsafe * fix for entry in src/main/java-22/ * backfill leaderboard --------- Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
* Add linl33's implementation (#503)Li Lin2024-01-215-1/+639
| | | | | | | | | * Add linl33's implementation * Update evaluate.sh --------- Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
* Leaderboard updateGunnar Morling2024-01-211-6/+6
|
* subprocess spawner (#542)Artsiom Korzun2024-01-213-45/+76
|
* Reverting ByteBuffer idea, using Thomas's trick instead. (#538)Roy van Rijn2024-01-212-9/+37
|
* Tuning and subprocess spawn for thomaswue (#533)Thomas Wuerthinger2024-01-212-72/+99
| | | | | | | | | | | | | * Some clean up, small-scale tuning, and reduce complexity when handling longer names. * Do actual work in worker subprocess. Main process returns immediately and OS clean up of the mmap continues in the subprocess. * Update minor Graal version after CPU release. * Turn GC back to epsilon GC (although it does not seem to make a difference). * Minor tuning for another +1%.
* optimize branches (#534)Artsiom Korzun2024-01-211-8/+15
|
* Adjust rolling hash function to operate at int-scale rather than byte-scale. ↵Elliot Barlas2024-01-211-22/+17
| | | | Ensure 8-byte alignment in key buffer for faster comparisons. (#523)
* Leaderboard updateGunnar Morling2024-01-211-1/+1
|
* Reduce allocations and heap size (#525)Roman Musin2024-01-212-23/+31
| | | | | | | | | | | * Reduce allocations * Shrink the heap size * Calculate hash when reading name (50-100ms difference) * no need to reverse bytes * bump heap size
* #104 Running tests for PRsGunnar Morling2024-01-214-0/+144
|
* Leaderboard updateGunnar Morling2024-01-213-6/+6
|
* reorganize code, little bit faster (#509)Van Phu DO2024-01-212-25/+28
|
* Use Array to store results instead of grouping by and custom class (#522)kumarsaurav1232024-01-211-130/+141
|
* Improving first iteration by avoiding string creation as much as possible (#516)adri2024-01-203-33/+55
| | | | | - It avoids creating unnecessary Strings objects and handles with the station names with its djb2 hashes instead - Initializes hashmaps with capacity and load factor - Adds -XX:+AlwaysPreTouch
* Leaderboard updateGunnar Morling2024-01-201-5/+9
|
* Solution without unsafe (#507)giovannicuccu2024-01-203-0/+460
| | | Co-authored-by: Giovanni Cuccu <gcuccu@imolainformatica.it>
* Add 0xshivamagarwal Implementation (#508)Shivam Agarwal2024-01-202-0/+159
| | | | | | | | | * 0xshivamagarwal implementation * . --------- Co-authored-by: Shivam Agarwal <>
* using unsafe alone (#512)karthikeyan972024-01-202-108/+113
| | | | | | | | | | | | | | | * final comit changing using mappedbytebuffer changes before using unsafe address using unsafe * using graalvm,correct unsafe mem implementation --------- Co-authored-by: Karthikeyans <karthikeyan.sn@zohocorp.com>
* Improved version based on rafaelmerino (#511)Yann Moisan2024-01-203-0/+311
| | | | | | | | | | | * files created by create_fork.sh * use indexOf * improved implementation based on rafaelmerino --------- Co-authored-by: Yann Moisan <yann@zen.ly>
* Epsilon GC + a number of other small tweaks (#513)Roman Musin2024-01-202-72/+59
| | | | | | | | | | | | | | | | | * Version 3 * Use SWAR algorithm from netty for finding a symbol in a string * Faster equals - store the remainder in a long field (- 0.5s) * optimise parsing numbers - prep * Keep tweaking parsing logic * Rewrote number parsing may be a tiby bit faster it at all * Epsilon GC
* Introducing the vector api. 1s faster on 4 core i7 (#506)Dr Ian Preston2024-01-202-55/+51
| | | Co-authored-by: Ian Preston <ianopolous@protonmail.com>
* jerrinot's improvement (#514)Jaromir Hamala2024-01-201-84/+67
| | | | | | | * refactoring * segregated heap for names also a different hashing function. turns out hashing just first word is good enough
* yonatang solution: a jdk8 friendly, no unsafe code, epsilon-gc friendly ↵Yonatan Graber2024-01-204-0/+361
| | | | | | | | | | | | | | | | | | | solution (#499) * 1bc challenge, but one that will run using jdk 8 without unsafe and still do reasonably well. * Better hashtable * the fastest GC is no GC * cleanups * increased hash size * removed Playground.java * collision-handling allocation free hashmap * formatting
* Processing byte array backwards (#504)Xylitol2024-01-201-133/+327
|
* Leaderboard updateGunnar Morling2024-01-201-2/+2
|
* Use Arena MemorySegments rather than ByteBuffers. (#505)Elliot Barlas2024-01-202-121/+138
|
* Leaderboard updateGunnar Morling2024-01-191-10/+11
|
* Added dedicated reader (#493)Roy van Rijn2024-01-192-212/+458
| | | Started running perf, perhaps this helps. No idea how to use it yet
* Change data storage improving memory locality (#496)Juan Parera2024-01-191-100/+131
|
* low collision + fast mixer, more optimization, less if because if is slow (#474)Van Phu DO2024-01-191-58/+44
|
* plain old io (#492)Artsiom Korzun2024-01-192-56/+58
| | | plain old io
* Reduce variance by (1) Using common chunks at the end (2) Busy looping (#486)Vemana2024-01-191-88/+169
| | | | | | | | | | | | | | | | | on automatic closing of ByteBuffers.. previously, a straggler could hold up closing the ByteBuffers. Also - Improve Tracing code - Parametrize additional options to aid in tuning Our previous PR was surprising; parallelizing munmap() call did not yield anywhere near the performance gain I expected. Local machine had 10% gain while testing machine only showed 2% gain. I am still not clear why it happened and the two best theories I have are 1) Variance due to stragglers (that this change addresses) 2) munmap() is either too fast or too slow relative to the other instructions compared to our local machine. I don't know which. We'll have to use adaptive tuning, but that's in a different change.
* netrunnereve: more optimizations (#485)Eve2024-01-191-53/+67
|
* Submission #3: jincongho (#482)Jin Cong Ho2024-01-191-23/+48
|
* kumarsaurav123 # Attempt 3 (#470)kumarsaurav1232024-01-192-141/+138
| | | | | * Use Memory Segment * Reduce Number of threads
* GitHub Copilot Chat with the help of agoncal (#460)Antonio Goncalves2024-01-193-0/+193
| | | | | | | | | | | | | | | | | | | | | * v1 - Initial prompt * Introduce Records * v1 - Initial prompt * v2 - Introduce Records * v3 - Improves code * v4 - Improves JVM parameter * GitHub Copilot Chat with the help of agoncal * Format * Pass measurements-rounding * Added prepare script
* Leaderboard updateGunnar Morling2024-01-191-4/+4
|
* Version 4 - roman-r-m (#484)Roman Musin2024-01-191-26/+38
| | | | | | | | | | * Version 3 * trying to optimize memory access (-0.2s) - use smaller segments confined to thread - unload in parallel * Only call MemorySegment.address() once (~200ms)
* 3s (16%) faster, still no unsafe (#478)Dr Ian Preston2024-01-191-125/+199
| | | | * use Arena and MemorySegment to map entire file at once * reduced branches and instructions