Commit Graph

260 Commits

Author SHA1 Message Date
Gunnar Morling
4a5eda70fd Logging 2024-01-11 09:31:36 +01:00
Jason Nochlin
007298b4d3
evaluate2.sh: Add Time Limit for Runs (#293)
* evaluate2.sh: Add Time Limit for Runs

* check that bc is installed

---------

Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
2024-01-11 09:25:58 +01:00
Gunnar Morling
e084c36760 Leaderboard update, better failure output 2024-01-11 09:21:04 +01:00
Alexander Yastrebov
c9183a5aeb
Remove additional_build_steps_*.sh support (#301)
There is no need to have it as preparation steps could be fit into prepare_*.sh
2024-01-11 09:05:13 +01:00
Artsiom Korzun
8602a35504
improved artsiomkorzun solution (#176)
improved artsiomkorzun solution

improved artsiomkorzun solution

Co-authored-by: Artsiom Korzun <akorzun@deltixlab.com>
2024-01-11 09:00:24 +01:00
Gunnar Morling
085168a0b3 Leaderboard update 2024-01-10 23:14:59 +01:00
Anthony Goubard
e7ab90e3ac
Implementation CalculateAverage_japplis of 1BRC from Anthony Goubard (#271)
* 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
2024-01-10 23:09:21 +01:00
pedestrianlove
3f2fd934e5
Add entries for pedestrianlove. (#265)
Co-authored-by: jsl <s03851050@go.thu.edu.tw>
2024-01-10 22:57:41 +01:00
Pratham
473791e188
first cut 1brc submission (#216)
* phd3 initial entry

* Optimize parsing doubles

* Remove redundant check

* Update calculate_average_phd3.sh

---------

Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2024-01-10 22:40:27 +01:00
Gunnar Morling
0f976b8167 Updating leaderboard 2024-01-10 22:36:30 +01:00
Algirdas Raščius
d17619c95c
Quick and dirty first version (#215)
* Quick and dirty first version

* Update script to new standard
2024-01-10 22:35:37 +01:00
Anton Rybochkin
ad7a6ec573
Initial solution by raipc
* 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
2024-01-10 22:26:00 +01:00
Michael Berry
1589210038
Initial implementation (#158)
* Initial implementation

* Make executable

* Deal with collisions (but very slow)

* Formatting

* Remove superfluous time

* Formatting

* Fixes

* Remove hard coded correction line

* Integer parsing speedup
2024-01-10 22:17:11 +01:00
arjenvaneerde
d4fdcc5408
Some optimizations arjenvaneerde
* 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>
2024-01-10 22:06:28 +01:00
zerninv
814c88fcb5
Implements CalculateAverage_zerninv.java
* 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>
2024-01-10 21:53:34 +01:00
AbstractKamen
7483b90cec
CalculateAverage_AbstractKamen
* 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>
2024-01-10 21:48:12 +01:00
Gunnar Morling
209e005461 Leaderboard, clean-up 2024-01-10 21:37:16 +01:00
Gaurav Mathur
20f0179181
gnmathur's solution (#202)
Co-authored-by: Gaurav Mathur <gmathur@gurukul>
2024-01-10 21:36:29 +01:00
Gunnar Morling
4858f2fe35 Removing superfluous time calls 2024-01-10 21:21:54 +01:00
Gunnar Morling
6a6d6e5879 Leaderboard update 2024-01-10 21:17:03 +01:00
CourageLee
c9b7fe9deb
Add CalculateAverage_couragelee Java class and shell script
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.
2024-01-10 21:16:36 +01:00
Prabhu R
1086385f1f
Implementation by rprabhu
Co-authored-by: Prabhu R <prabhu.rengaswamy@outlook.com>
2024-01-10 21:09:42 +01:00
greid
08af2622d3 gabrielreid take 2
Clear up some TODOS, simplify the code a bit, which appears to
result in a 25% performance increase.
2024-01-10 20:43:46 +01:00
Stefan Sprenger
a8a3876416
Second submission by flippingbits - 50% performance improvement
* feat(flippingbits): Improve parsing of measurement and few cleanups

* feat(flippingbits): Reduce chunk size to 10MB

* feat(flippingbits): Improve parsing of station names

* chore(flippingbits): Remove obsolete import

* chore(flippingbits): Few cleanups
2024-01-10 20:36:22 +01:00
Quan Anh Mai
97b1f014ad
merykitty's second attempt 2024-01-10 20:24:19 +01:00
Gunnar Morling
786a52034c Leaderboard update 2024-01-10 20:24:02 +01:00
Elliot Barlas
44414a33dc Consume four bytes at a time from buffer using getInt. Store key with unsafe int array rather than byte array. Use custom equals rather than Arrays equals. 2024-01-10 20:03:14 +01:00
Gunnar Morling
c89490aaa1 Leaderboard update 2024-01-10 19:43:14 +01:00
Thomas Wuerthinger
af66ac145f
Second tuning for thomaswue
* Optimize checking for collisions by doing this a long at a time always.

* Use a long at a time scanning for delimiter.

* Minor tuning. Now below 0.80s on Intel i9-13900K.

* Add number parsing code from Quan Anh Mai. Fix name length issue.

* Include suggestion from Alfonso Peterssen for another 1.5%.

* Optimize hash collision check compare for ~4% gain.

* Add perf stats based on latest version.
2024-01-10 19:42:51 +01:00
Gunnar Morling
2bfd8f90bc Removing nstng's entry as he's retracting from the challenge 2024-01-10 19:35:49 +01:00
Nils Semmelrock
a421ad5dbf Revert "Adding Nils Semmelrock's submission"
This reverts commit 12ae36ad
2024-01-10 19:33:52 +01:00
Gunnar Morling
ed6b077819 Leaderboard update -- Backfilling remaining entries 2024-01-10 18:25:27 +01:00
Alexander Yastrebov
af269e39fc Update test*.sh to support input file pattern
This is useful for testing fork(s) against subset of test samples
2024-01-10 17:53:13 +01:00
Gunnar Morling
4df425fb9b New leaderboard (WIP) after environment change 2024-01-10 17:37:02 +01:00
Jason Nochlin
e45c338f0e more robust error message 2024-01-10 16:01:07 +01:00
Jason Nochlin
a8ebaf1a59 catch hyperfine command failed 2024-01-10 16:01:07 +01:00
Alexander Yastrebov
a08cd0e05a Add small test cases
For https://github.com/gunnarmorling/1brc/issues/276
2024-01-10 15:48:42 +01:00
Jason Nochlin
6ee7f2d0b0 remove debug line 2024-01-10 15:26:19 +01:00
Jason Nochlin
08d99c38e5 Validate that ./calculate_average_<fork>.sh exists for each fork 2024-01-10 15:26:19 +01:00
Jason Nochlin
7c81bfec70 grep returns exit code 1 when no match, || true prevents the script from exiting early 2024-01-10 15:26:19 +01:00
Alexander Yastrebov
7def69eee7 Fix test.sh to use prepare script 2024-01-10 14:29:18 +01:00
Gunnar Morling
7a617720ad
Update README.md 2024-01-10 12:41:08 +01:00
Gunnar Morling
8fac59de42 #281 Trimming slowest/fastest run, not first/last in evaluate2.sh 2024-01-10 11:43:16 +01:00
Jason Nochlin
c92c88b9fb
evaluate2.sh improvements - leaderboard, default SDK
* reset the JDK to the default (21.0.1-open) when no prepare script is provided

* leaderboard improvements - sorting and content

* run sdk install once at the beginning of the script for all the SDKs detected in any of the evaluated prepare scripts

* remove unnecessary code and tweak doc comments

* one more nit

* Don't print rankings values when only 1 fork is being evaluated

* It's been a few hours, so I now have some more rate limit :)

---------

Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
2024-01-10 10:05:16 +01:00
Gunnar Morling
fa1ca65bfd
Hyperfine: Script re-org 2024-01-09 21:26:29 +01:00
Jason Nochlin
42e5ca1435
Use hyperfine and jq to improve evaluate.sh
* create new version of evaluate.sh using hyperfine + jq

* output the raw times for each command

* nit: s/command/fork/

* update evaluate2.sh for new fork file structure

* review changes

* use numactl on linux

* 1 warmup

* verify output

* leaderboard

* do not early exit on hyperfine error

* check if SMT and turbo boost are disabled

* fix bug

---------

Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
2024-01-09 20:51:59 +01:00
Gunnar Morling
2c0e551cec
Update README.md 2024-01-09 14:11:31 +01:00
Dimitar Dimitrov
6fd55dee6e Committing line separator changes on Linux systems (enforced by gitattr). 2024-01-08 12:17:23 +01:00
Dimitar Dimitrov
23913da5a0 Added UseTransparentHugePages after testing on a box 2024-01-07 21:19:18 +01:00
Daniel Avery
82cb32946e
Add davery22 impl 2024-01-07 21:14:04 +01:00