Commit Graph

604 Commits

Author SHA1 Message Date
Gunnar Morling
2069de455d Leaderboard update 2024-01-14 10:47:59 +01:00
Elliot Barlas
d608f14886 Consider file size when calculating partition count. Add simple fast-path optimization to equals method. 2024-01-14 10:24:52 +01:00
Gunnar Morling
a0f826c2e4 Leaderboard 2024-01-13 22:25:49 +01:00
Kidlike
c01668403a
submission for kidlike (#294)
* first version

* second version (0m59s)

* third version (0m46s)

* fourth version (0m39s)

* fifth version (0m18s)

* follow naming conventions from project structure

* fix rounding (see /issues/49)

* formatting changes from build

* name should case-match github username

* sixth version (14s)

* seventh version (11s)

* potential fix for other systems?

* no need for sdk install

* binary should go to ./target

* building native-image only when not existing yet
2024-01-13 22:22:36 +01:00
Vasily Zernin
32143b2a4c change chunking formula and some refactoring 2024-01-13 22:13:05 +01:00
jairo
4265c7e9a8 simultaneous reading and calculation, reduction of memory consumption, hashing for the stations 2024-01-13 22:11:33 +01:00
abeobk
b2a4b73c59 use all CPUs 2024-01-13 22:04:34 +01:00
ivanklaric
05fe916948
my 1brc entry (#367) 2024-01-13 22:02:36 +01:00
Gunnar Morling
f379e65193 Leaderboard, permissions 2024-01-13 21:48:37 +01:00
Jatin Gala
47103cd84e
1brc challange submission jatingala (#364)
* add code

* enable parallel

* fix code warnings

* use graal vm

* formatting changes by build

* add license
2024-01-13 21:44:42 +01:00
javamak
e5540214b8
CalculateAverage_javamak (#360) 2024-01-13 21:41:42 +01:00
Gunnar Morling
d6476afa96 Leaderboard 2024-01-13 18:59:44 +01:00
Vaidhy Mayilrangam
33c614a1e3
Primitive hash (#345)
* Calculate average by vaidhy

* Calculate average by vaidhy

* More changes

* remove worker log

* Pass -Dparellelism and switch back to open

* Try out mmap

* Improve mmap solution

* no copy version

* reduce threads

* hash code computed on the fly

* Reuse the char (Do not know if it helps)

* primitive hash map

* Primite HashMap

* Micro optimizations to push for optimizations

* Revert "Micro optimizations to push for optimizations"

This reverts commit ea333e2821ebb5c1d6d71a4e87e569a8f2f8f7f0.

* Micro optimizations to get the juice

* floorMod fixes

* findSemi and findNewLine as separate functions

* Optimized parseDouble

* More micro changes

* Aligned equal check

* more small changes

* XOR instead of compare

* Reduce loop length

* Revert changes

* Loop optimization and added native build

* Hand unrolled findSemi loop.

* Remove incorrect comments

* Taking care fo PR comments

* Add prepare script

* Missing header error fix

* remove wrong comment

---------

Co-authored-by: Anita S V <anitasvasu@gmail.com>
Co-authored-by: Anita SV <anitvasu@amazon.com>
2024-01-13 18:46:51 +01:00
Jason Nochlin
a1adf191e1 add colors to test diff 2024-01-13 18:39:45 +01:00
Jason Nochlin
f29f8fb216 Do not silence test.sh output 2024-01-13 18:39:45 +01:00
Bang NGUYEN
d5f8442a26 Update my time & position 2024-01-13 17:23:56 +01:00
Bang NGUYEN
dc49249d36
[Attempt #2] String overflow hash + data/mem optimization (#356)
* 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
2024-01-13 12:32:17 +01:00
Gunnar Morling
45056e073b Script cleanup 2024-01-13 12:23:06 +01:00
Jason Nochlin
eff73db9fe
evaluate2.sh: Check output of warmup run and abort early if failed (#333)
* refactor: replace xtrace with "print_and_execute" function

* nit: stylize error messages

* replace out_expected.txt with measurements_1B.out

* print

* prevent errors on cleanup

* run tests and check warmup run output before running benchmark

* move "git diff" pretty diff output to test.sh

* Ensure "set -e" is re-enabled if we followed a "continue" branch

* add timeouts to test.sh invocations

* use diff with tocsv.sh to show differences on failed test

* add --quiet mode to test.sh

* move prepare_$fork.sh invocation to right below hyperfine since test.sh also invokes it

* Revert "add --quiet mode to test.sh"

This reverts commit 13e9fb7f395c1bd64a62528b8349803bc1366941.

* use tee to capture test output to a temp file and print contents on failure

---------

Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
2024-01-13 12:19:29 +01:00
Gunnar Morling
df67791039 Leaderboard 2024-01-13 12:01:59 +01:00
Gunnar Morling
98ee326b74 Leaderboard 2024-01-13 12:00:36 +01:00
Oleh Marchenko
e1ae96f297
First version of implementation - omarchenko4j (#222)
* First version of implementation

* Fixes after running script test
2024-01-13 11:52:17 +01:00
Roman Musin
092132afe9
roman-r-m improved version (#368)
* 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
2024-01-13 11:46:52 +01:00
Roman Stoffel
062f424c10 Parallelize Roman Stoffel (gamlerhart) Solution
Split the file in regions. Parse those in parallel.
Then merge the result
2024-01-13 11:40:34 +01:00
Andrew Sun
69ffa8e04c Rename files to match GitHub username 2024-01-13 11:29:27 +01:00
Gunnar Morling
457c263a34 Formatting 2024-01-12 22:26:55 +01:00
Gunnar Morling
5594a1b72b Leaderboard 2024-01-12 22:04:23 +01:00
Maxime
79f19eee9b
first attempt (#226)
* first attempt

* adapted to new organization
2024-01-12 21:39:12 +01:00
Gunnar Morling
4cfb5449e9 Leaderboard, formatting 2024-01-12 21:21:40 +01:00
abeobk
53776398dc abeobk initial implementation 2024-01-12 21:15:47 +01:00
Rafael Merino García
ab9d64b3e3 second try: just testing with the chunk size and gc tunning 2024-01-12 21:11:44 +01:00
Xylitol
9e5ec51315 Improved my implementation 2024-01-12 21:09:02 +01:00
ivanklaric
09e0311e09 Update create_fork.sh
Updated create_fork.sh to account for the CalculateAverage class name change
2024-01-12 21:05:51 +01:00
Dr Ian Preston
b93b128cb8
Add CalculateAverage_ianopolous.java (#346)
* Add solution by ianopolous - simple, memory mapped, reduced allocation, no unsafe.

* remove almost all allocation
2024-01-12 21:04:43 +01:00
Roy van Rijn
9227aa5062
Locally another 5% faster, much faster for larger set, made more general (#352) 2024-01-12 21:00:12 +01:00
Thomas Wuerthinger
bd4cff945d
Adding Scanner object and also tuning for better branch prediction for about +6%. (#341) 2024-01-12 20:51:22 +01:00
Andrew Sun
dac38bc97f
Optimizations to Andrew Sun's entry (#310)
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
2024-01-12 20:42:22 +01:00
John Ziamos
90cd353fbe
this hashmap was faster on my system (#304)
use cursor style parsing thing
2024-01-12 20:39:16 +01:00
Thanh Duong
9d10724abc
1brc submission - thanhtrinity (#269)
* Add Calculation

* Update hashing remove abs and use 0x7FFFFFFF

* Collision Handling using Linear Prob

* Refactor code
2024-01-12 20:36:44 +01:00
Samuel Yvon
22b960ada2
Graal Native for SamuelYvon (#332)
* 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
2024-01-12 20:16:13 +01:00
Gunnar Morling
a6e4013170 Leader board 2024-01-12 18:46:51 +01:00
Quan Anh Mai
dad698d3df unsafe approach 2024-01-12 18:39:12 +01:00
Bang NGUYEN
c2ee852ecb Update class name in calculate_average_baseline.sh 2024-01-12 16:30:08 +01:00
Gunnar Morling
04fa1e1a41 Leaderboard update 2024-01-12 10:05:48 +01:00
zerninv
06f9b74829
use unsafe (#343) 2024-01-12 09:54:28 +01:00
Roman Romanchuk
594f6c4e5f
Lazy strings init, custom station map (#336) 2024-01-12 09:52:32 +01:00
Yavuz Tas
10f425e2b6
I optimized my solution: (#337)
- 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>
2024-01-12 09:47:31 +01:00
Parth Mudgal
f37b304fc3
inline hash calculation and number parsing (#200)
no number parsing with precalculated map
verify tests
better loop with direct hash to measurement mapping
accept formatting changes
Use unsafe
2024-01-12 09:38:09 +01:00
Bang NGUYEN
af1946fcb5
[Attempt 1] Memory mapping + split by linebreak + multithreads + fast double 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
2024-01-12 09:35:35 +01:00
Gunnar Morling
3c465cecf9 Leaderboard, class name 2024-01-12 09:21:29 +01:00