aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Fixing the off-by-one error and updating to native, redone layout of code. ↵Roy van Rijn2024-01-111-202/+166
| | | | (#307)
* Leaderboard, formattingGunnar Morling2024-01-111-23/+23
|
* Update davecom entry use ByteBuffer instead of String for Names and graal (#245)David Kopec2024-01-111-20/+28
| | | | | | | | | * my implementation about 19.5 seconds on M1 MacBook Air * final version * use ByteBuffer instead of String; use graal * add prepare_davecom script
* Charlibot submission (#249)Charlie Evans2024-01-111-0/+332
| | | | | | | * committing my ugly code * fulfil the brief wrt number of characters and the number of cities * prepare submission
* CalculateAverage_kumarsaurav123.java-> RAM 16 GB CPU 32 Core (#247)kumarsaurav1232024-01-111-0/+256
|
* Simple, slow but very short. :-) (#240)Aleš Justin2024-01-111-0/+46
| | | | | * Simple, slow but very short. :-) * Fix sync on DSS::accept.
* improved artsiomkorzun solution (#176)Artsiom Korzun2024-01-111-195/+249
| | | | | | | improved artsiomkorzun solution improved artsiomkorzun solution Co-authored-by: Artsiom Korzun <akorzun@deltixlab.com>
* Implementation CalculateAverage_japplis of 1BRC from Anthony Goubard (#271)Anthony Goubard2024-01-101-0/+244
| | | | | | | | | | * Implementation CalculateAverage_japplis of 1BRC from Anthony Goubard (japplis). Local performance (7 years old desktop i7-6700K - 8 cores - 16GB) 26 seconds. For reference, Jamie Stansfield (isolgpus) is 23 seconds on my machine and 11s in your results. I've added the nbactions.xml to the .gitignore file. When you add in NetBeans options like --enable-preview to actions like debug file or run file, it creates this file. * Implementation CalculateAverage_japplis of 1BRC from Anthony Goubard (japplis). Local performance (7 years old desktop i7-6700K - 8 cores - 16GB) 26 seconds. For reference, Jamie Stansfield (isolgpus) is 23 seconds on my machine and 11s in your results. I've added the nbactions.xml to the .gitignore file. When you add in NetBeans options like --enable-preview to actions like debug file or run file, it creates this file. second commit: Removed BufferedInputStream and replaced Measurement with IntSummaryStatistics (thanks davecom): still 23" but cleaner code
* Add entries for pedestrianlove. (#265)pedestrianlove2024-01-101-0/+88
| | | Co-authored-by: jsl <s03851050@go.thu.edu.tw>
* first cut 1brc submission (#216)Pratham2024-01-101-0/+241
| | | | | | | | | | | | | * phd3 initial entry * Optimize parsing doubles * Remove redundant check * Update calculate_average_phd3.sh --------- Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
* Quick and dirty first version (#215)Algirdas Raščius2024-01-101-0/+272
| | | | | * Quick and dirty first version * Update script to new standard
* Initial solution by raipcAnton Rybochkin2024-01-101-0/+470
| | | | | | | | | | | | | | | * Initial solution by raipc * Implemented custom hash map with open addressing * Small optimizations to task splitting and range check disabling * Fixed off-by-one error in merge * Run with EpsilonGC. Borrowed VM params from Shipilev * Make script executable * Add a license
* Initial implementation (#158)Michael Berry2024-01-101-0/+268
| | | | | | | | | | | | | | | | | | | * Initial implementation * Make executable * Deal with collisions (but very slow) * Formatting * Remove superfluous time * Formatting * Fixes * Remove hard coded correction line * Integer parsing speedup
* Some optimizations arjenvaneerdearjenvaneerde2024-01-101-0/+348
| | | | | | | | | | | | | | | | | | | | | | | | | * First working version. * Small adjustments. * Correct number of threads. * Sync * Some fixes. To LF instead of CRLF. * Parallel reading and processing. * Update CreateMeasurements.java * Update CalculateAverage.java * Small fix for bug in switching buffers. * Update calculate_average_arjenvaneerde.sh --------- Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
* Implements CalculateAverage_zerninv.javazerninv2024-01-101-0/+199
| | | | | | | | | | | | | | | | | * initial attempt * adjust to new evaluation env * fix tests * fix typo * some numbers adjustments * Update calculate_average_zerninv.sh --------- Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
* CalculateAverage_AbstractKamenAbstractKamen2024-01-101-0/+220
| | | | | | | | | | | | | | | | | | | * initial commit * first attempt: segment the file and process it in parallel * remove commented stuff * custom parseDouble for this simple case * fixed some issues and improved parsing * format * Update calculate_average_AbstractKamen.sh --------- Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
* Leaderboard, clean-upGunnar Morling2024-01-101-0/+15
|
* gnmathur's solution (#202)Gaurav Mathur2024-01-101-0/+151
| | | Co-authored-by: Gaurav Mathur <gmathur@gurukul>
* Add CalculateAverage_couragelee Java class and shell scriptCourageLee2024-01-101-0/+336
| | | This commit introduces a new java class, CalculateAverage_couragelee, and a shell script for calculating averages. The java class utilizes NIO's memory-mapping and parallel computing techniques to perform calculations. These changes should improve the efficiency and speed of average calculations.
* Implementation by rprabhu Prabhu R2024-01-101-0/+137
| | | Co-authored-by: Prabhu R <prabhu.rengaswamy@outlook.com>