aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev
Commit message (Collapse)AuthorAgeFilesLines
...
* [Attempt #2] String overflow hash + data/mem optimization (#356)Bang NGUYEN2024-01-131-75/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use graal * Use dynamic cores computer * Use stream API to cleanup code * Use max processors * Use hash to avoid init string * optimize concurrentmap init * Smaller hash size * Avoid checking concurrentmap * Optimize data type * string dedup * Faster write * Change base * Remove time * Use mul instead of div
* First version of implementation - omarchenko4j (#222)Oleh Marchenko2024-01-131-0/+213
| | | | | * First version of implementation * Fixes after running script test
* roman-r-m improved version (#368)Roman Musin2024-01-131-41/+55
| | | | | | | | | | | * remove unneeded check * slightly improved hash code perf * Use unsafe to access memory + untangle the code a bit * Adhoc cache that works a bit better * Store station names as offset into the memory segment + length; slightly change how the hash is calculated
* Parallelize Roman Stoffel (gamlerhart) SolutionRoman Stoffel2024-01-131-53/+174
| | | | | Split the file in regions. Parse those in parallel. Then merge the result
* Rename files to match GitHub usernameAndrew Sun2024-01-131-1/+1
|
* FormattingGunnar Morling2024-01-121-5/+7
|
* first attempt (#226)Maxime2024-01-121-0/+194
| | | | | * first attempt * adapted to new organization
* Leaderboard, formattingGunnar Morling2024-01-121-214/+214
|
* abeobk initial implementationabeobk2024-01-121-0/+230
|
* second try: just testing with the chunk size and gc tunningRafael Merino García2024-01-121-0/+1
|
* Improved my implementationXylitol2024-01-121-173/+93
|
* Add CalculateAverage_ianopolous.java (#346)Dr Ian Preston2024-01-121-0/+201
| | | | | * Add solution by ianopolous - simple, memory mapped, reduced allocation, no unsafe. * remove almost all allocation
* Locally another 5% faster, much faster for larger set, made more general (#352)Roy van Rijn2024-01-121-75/+113
|
* Adding Scanner object and also tuning for better branch prediction for about ↵Thomas Wuerthinger2024-01-121-101/+182
| | | | +6%. (#341)
* Optimizations to Andrew Sun's entry (#310)Andrew Sun2024-01-121-65/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit 44d3736de87834b41118d45831e59fc2b052117c Merge: fcf795f 3127962 Author: Andrew Sun <as-com@users.noreply.github.com> Date: Thu Jan 11 20:01:13 2024 -0500 Merge branch 'gunnarmorling:main' into as-com commit fcf795fbabacbd91891d11d21450ee4b1c479dc5 Author: Andrew Sun <me@andrewsun.com> Date: Wed Jan 10 21:14:01 2024 -0500 Optimizations to Andrew Sun's entry commit 4203924711bab5252ff3cbb50a90f4ce4e8e67c2 Merge: 9aed05a 085168a Author: Andrew Sun <me@andrewsun.com> Date: Wed Jan 10 19:40:19 2024 -0500 Merge remote-tracking branch 'upstream/main' into as-com commit 9aed05a04bd27fe7323e66c347b1011c77da322c Merge: 3f8df58 c2d120f Author: Andrew Sun <me@andrewsun.com> Date: Sun Jan 7 16:45:27 2024 -0500 Merge remote-tracking branch 'origin/as-com' into as-com # Conflicts: # calculate_average_asun.sh # src/main/java/dev/morling/onebrc/CalculateAverage_asun.java commit c2d120f0cb7f18c720a81a7f898102b310f9ecb9 Author: Andrew Sun <me@andrewsun.com> Date: Sat Jan 6 00:45:47 2024 -0500 Add entry by Andrew Sun commit 3f8df5803bcc8f3e29ed8bfff3077eb0e8cdab15 Author: Andrew Sun <me@andrewsun.com> Date: Sat Jan 6 00:45:47 2024 -0500 Add entry by Andrew Sun
* this hashmap was faster on my system (#304)John Ziamos2024-01-121-198/+259
| | | use cursor style parsing thing
* 1brc submission - thanhtrinity (#269)Thanh Duong2024-01-121-0/+260
| | | | | | | | | * Add Calculation * Update hashing remove abs and use 0x7FFFFFFF * Collision Handling using Linear Prob * Refactor code
* Graal Native for SamuelYvon (#332)Samuel Yvon2024-01-121-19/+112
| | | | | | | | | | | | | | | | | | | * Graal Native * I need a GC :( * Fix slash lolz * Fix god damn output lol I forgot java :D * Custom hash, custom key * More optimisations * I don't need "optimize-build" I don't care about image size! :D
* unsafe approachQuan Anh Mai2024-01-121-0/+379
|
* use unsafe (#343)zerninv2024-01-121-72/+109
|
* Lazy strings init, custom station map (#336)Roman Romanchuk2024-01-121-20/+36
|
* I optimized my solution: (#337)Yavuz Tas2024-01-121-204/+272
| | | | | | | | - Eliminate redundant object creations in between - Custom HashMap on purpose - Inspired by @spullara - More performant temperature parsing - Inspired by @yemreinci - JVM tweaks, decreased heap memory, and remove AlwaysPreTouch Co-authored-by: Yavuz Tas <yavuz.tas@ing.com>
* inline hash calculation and number parsing (#200)Parth Mudgal2024-01-121-203/+209
| | | | | | | no number parsing with precalculated map verify tests better loop with direct hash to measurement mapping accept formatting changes Use unsafe
* [Attempt 1] Memory mapping + split by linebreak + multithreads + fast double ↵Bang NGUYEN2024-01-121-0/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | parser (#330) * Create clones * Cleanup code and add memory mapping to read file * Fix chunks reading logic to fit linebreak * Remove unused * Sequential * Multi thread process chunks * Add new line in output * Remove unnecessary operation with map & reducer memory * Reduce mem usage by using only 1 map * formatting * Remove unnecessary length check * Remove trycatch * Optimize double parsing
* Leaderboard, class nameGunnar Morling2024-01-121-1/+1
|
* update richardstartin submission (#325)Richard Startin2024-01-121-184/+127
|
* hundredwatt - 2nd submission (#338)Jason Nochlin2024-01-122-46/+195
| | | | | | | | | | | | | * check full hash before comparing * implement merykitty suggestions to simplify temperature masking; required refactoring to little-endian * standalone script for offline Perfect Hash seed searching * stop using an oversized hash table --------- Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
* FormattingGunnar Morling2024-01-111-3/+3
|
* First attempt from ricardopieper, class CalculateAverage_ricardopieper (#306)Ricardo Pieper2024-01-111-0/+447
| | | | | | | | | | | | | | | | | | | | | | | * My entry * Added scripts * Fix for unicode chars * Formatting * Clarifying comment * Perf improvements * Fixing bugs * Fixing tests * Deleted second file * Added license * Cleanup and windows support
* Submission @jbachorik (#153)Jaroslav Bachorik2024-01-111-0/+395
| | | | | | | | | | | | | | | | | | * Submission @jbachorik * Submission @jbachorik (take 2) * Fix test failure * Submission @jbachorik (take 2) * Submission @jbachorik (take 2) part 2 * Second reincarnation * Launcher tweaks * Rebase and fix new tests
* Initial implementation by xylitol (#318)Xylitol2024-01-111-0/+314
|
* use custom container (#305)zerninv2024-01-111-46/+73
|
* First deployed version for parkertimmins (#322)parkertimmins2024-01-111-0/+330
| | | | | Version notes: - simd search with overlapping words, at most one entry/semicolon parsed per simd word - branchless temperature parsing
* Adding delayed string creation again for (no-) gc, small tweaks (#315)Roy van Rijn2024-01-111-33/+38
|
* Divide the reading of the file by parts (#254)Jairo Graterón2024-01-111-75/+221
| | | | | | | | | | | | | | | | | * divide the reading of the file by parts * fix format * add number of core partition * fix format * implement strToDouble * fix strtodouble * add locale, fix read file, tests pass * delete unnecessary method clean
* One HashMap per thread: 23" to 18" locally but hopefully more on the server ↵Anthony Goubard2024-01-111-10/+22
| | | | (#319)
* improved artsiomkorzun solution (#321)Artsiom Korzun2024-01-111-175/+138
|
* Optimised Code and Fixed Tests (#314)Keshavram Kuduwa2024-01-111-148/+101
| | | Co-authored-by: Keshavram Kuduwa <keshavram.kuduwa@apptware.com>
* Uses MappedByteBuffer for io, trie instead of map and parallelStream (#234)Hallvard Trætteberg2024-01-111-0/+309
| | | | | * Uses MappedByteBuffer for io, trie instead of map and parallelStream * Added license
* djb2 single threaded implementation (#308)Eve2024-01-111-0/+198
|
* First Version (#292)Samuel Yvon2024-01-111-0/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First Version First draft; stole chunking but it's bad Forgot my changes No regex building Clean & optim I was not benchmarking myself T_T Faaaster First Version * Update calculate_average_samuelyvon.sh Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com> * Add prepare script * Fix rounding * Fix format * Fixing casing * Formats of sorts? * Rename --------- Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
* Entry into the contest, calculate_average_mtopolnik.sh (#246)Marko Topolnik2024-01-111-0/+530
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * calculate_average_mtopolnik * short hash (just first 8 bytes of name) * Remove unneeded checks * Remove archiving classes * 2x larger hashtable * Add "set" to setters * Simplify parsing temperature, remove newline search * Reduce the size of the name slot * Store name length and use to detect collision * Reduce memory loads in parseTemperature * Use short for min/max * Extract constant for semicolon * Fix script header * Explicit bash shell in shebang * Inline usage of broadcast semicolon * Try vectorization * Remove vectorization * Go Unsafe * Use SWAR temperature parsing by merykitty * Inline some things * Remove commented-out MemorySegment usage * Inline namesMem.asSlice() invocation * Try out JVM JIT flags * Implement strcmp * Remove unused instance variables * Optimize hashing * Put station name into hashtable * Reorder method * Remove usage of MemorySegment.getUtf8String Replace with UNSAFE.copyMemory() and new String() * Fix hashing bug * Remove outdated comments * Fix informative constants * Use broadcastByte() more * Improve method naming * More hashing * Revert more hashing * Add commented-out code to hash 16 bytes * Slight cleanup * Align hashtable at cacheline boundary * Add Graal Native image * Revert Graal Native image This reverts commit d916a42326d89bd1a841bbbecfae185adb8679d7. * Simplify shell script (no SDK selection) * Move a constant, zero out hashtable on start * Better name comparison * Add prepare_mtopolnik.sh * Cleaner idiom in name comparison * AND instead of MOD for hashtable indexing * Improve word masking code * Fix formatting * Reduce memory loads * Remove endianness checks * Avoid hash == 0 problem * Fix subtle bug * MergeSort of parellel results * Touch up perf * Touch up perf * Remove -Xmx256m * Extract result printing method * Print allocation details on OOME * Single mmap * Use global allocation arena
* First submission - CalculateAverage_JamalMulla.java - Jamal Mulla (#238)Jamal Mulla2024-01-111-0/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial chunked impl * Bytes instead of chars * Improved number parsing * Custom hashmap * Graal and some tuning * Fix segmenting * Fix casing * Unsafe * Inlining hash calc * Improved loop * Cleanup * Speeding up equals * Simplifying hash * Replace concurrenthashmap with lock * Small changes * Script reorg --------- Co-authored-by: Jamal Mulla <j.mulla@mwam.com>
* Fixed failing testsRoman Romanchuk2024-01-111-20/+54
|
* First version - roman_r_m (#193)Roman Musin2024-01-111-0/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * initial commit * - use loop - use mutable object to store results * get rid of regex * Do not allocate measurement objects * MMap + custom double parsing ~ 1:30 (down from ~ 2:05) * HashMap for accumulation and only sort at the end - 1:05 * MMap the whole file * Use graal * no GC * Store results in an array list to avoid double map lookup * Adjust max buf size * Manual parsing number to long * Add --enable-preview * remove buffer size check (has no effect on performance) * fix min & max initialization * do not check for \r * Revert "do not check for \r" This reverts commit 9da1f574bf6261ea49c353488d3b4673cad3ce6e. * Optimise parsing. Now completes in 31 sec down from ~43 * trying to parse numbers faster * use open address hash table instead of the standard HashMap * formatting * Rename the script to match github username (change underscores to slashes) Enable transparent huge pages, seems to improve by ~2 sec * Revert "formatting" This reverts commit 4e90797d2a729ed7385c9000c85cc7e87d935f96. * Revert "use open address hash table instead of the standard HashMap" This reverts commit c784b55f61e48f548b2623e5c8958c9b283cae14. * add prepare_roman-r-m.sh * SWAR tricks to find semicolon (-2 seconds ro run time) * remove time call * fix test * Parallel version (~6.5 seconds)
* Add multithreaded generation of measurements file with Gaussian distribution ↵Wladimir Schmidt2024-01-111-0/+537
| | | | | | | | | | (M2 AIR took 24 seconds for 1B items) (#175) * Add multithreaded variant to generate measurements * Add removing existing measurements.txt file in case exists (for usability reasons) Fix bug for number of lines generated * Fix also for less than assumed chunk size (10M entries) per thread
* First attempt from MeanderingProgrammerMeanderingProgrammer2024-01-111-0/+250
| | | | | | | | | | | | | #### Check List: - [x] Tests pass (`./test.sh MeanderingProgrammer` shows no differences between expected and actual outputs) - [x] All formatting changes by the build are committed - [x] Your launch script is named `calculate_average_MeanderingProgrammer.sh` (make sure to match casing of your GH user name) and is executable - [x] Output matches that of `calculate_average_baseline.sh` * Execution time: `00:04.668` * Execution time of reference implementation: `02:40.597` * System: Apple M2 Max, 12 cores, 64 GB
* Basic Implementation with Memory Mapped File, SIMD SearchRoman Stoffel2024-01-111-0/+270
| | | | By gamlerhart
* create fork hundredwatt (#279)Jason Nochlin2024-01-111-0/+339
| | | Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
* Add code by maeda6uiuimaeda6uiui2024-01-111-0/+485
|