Commit Graph

197 Commits

Author SHA1 Message Date
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
Kidlike
c01668403a
submission for kidlike ()
* 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 () 2024-01-13 22:02:36 +01:00
Jatin Gala
47103cd84e
1brc challange submission jatingala ()
* 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 () 2024-01-13 21:41:42 +01:00
Vaidhy Mayilrangam
33c614a1e3
Primitive hash ()
* 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
Bang NGUYEN
dc49249d36
[Attempt ] String overflow hash + data/mem optimization ()
* 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
Oleh Marchenko
e1ae96f297
First version of implementation - omarchenko4j ()
* 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 ()
* 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
Maxime
79f19eee9b
first attempt ()
* 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
Dr Ian Preston
b93b128cb8
Add CalculateAverage_ianopolous.java ()
* 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 () 2024-01-12 21:00:12 +01:00
Thomas Wuerthinger
bd4cff945d
Adding Scanner object and also tuning for better branch prediction for about +6%. () 2024-01-12 20:51:22 +01:00
Andrew Sun
dac38bc97f
Optimizations to Andrew Sun's entry ()
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 ()
use cursor style parsing thing
2024-01-12 20:39:16 +01:00
Thanh Duong
9d10724abc
1brc submission - thanhtrinity ()
* 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 ()
* 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
Quan Anh Mai
dad698d3df unsafe approach 2024-01-12 18:39:12 +01:00
zerninv
06f9b74829
use unsafe () 2024-01-12 09:54:28 +01:00
Roman Romanchuk
594f6c4e5f
Lazy strings init, custom station map () 2024-01-12 09:52:32 +01:00
Yavuz Tas
10f425e2b6
I optimized my solution: ()
- 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 ()
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 ()
* 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
Richard Startin
37a50cb2af
update richardstartin submission () 2024-01-12 09:06:09 +01:00
Jason Nochlin
6181996678
hundredwatt - 2nd submission ()
* 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>
2024-01-12 09:03:31 +01:00
Gunnar Morling
bf2b553d9c Formatting 2024-01-11 22:16:01 +01:00
Ricardo Pieper
263b272028
First attempt from ricardopieper, class CalculateAverage_ricardopieper ()
* 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
2024-01-11 22:14:13 +01:00
Jaroslav Bachorik
ce6abf9740
Submission @jbachorik ()
* 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
2024-01-11 22:03:44 +01:00
Xylitol
7c79f235d2
Initial implementation by xylitol () 2024-01-11 21:57:23 +01:00
zerninv
0e420f99e2
use custom container () 2024-01-11 21:53:51 +01:00
parkertimmins
bd2f7f7a53
First deployed version for parkertimmins ()
Version notes:
        - simd search with overlapping words, at most one entry/semicolon parsed per simd word
        - branchless temperature parsing
2024-01-11 21:46:08 +01:00
Roy van Rijn
4d0586142c
Adding delayed string creation again for (no-) gc, small tweaks () 2024-01-11 21:38:06 +01:00
Jairo Graterón
20e52aaadf
Divide the reading of the file by parts ()
* 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
2024-01-11 21:22:58 +01:00
Anthony Goubard
11a740c5d0
One HashMap per thread: 23" to 18" locally but hopefully more on the server () 2024-01-11 21:11:08 +01:00
Artsiom Korzun
8ef8cd2b17
improved artsiomkorzun solution () 2024-01-11 21:08:15 +01:00
Keshavram Kuduwa
1a82c77026
Optimised Code and Fixed Tests ()
Co-authored-by: Keshavram Kuduwa <keshavram.kuduwa@apptware.com>
2024-01-11 21:04:50 +01:00
Hallvard Trætteberg
7b4ad1a723
Uses MappedByteBuffer for io, trie instead of map and parallelStream ()
* Uses MappedByteBuffer for io, trie instead of map and parallelStream

* Added license
2024-01-11 20:58:42 +01:00
Eve
4b870e6fcb
djb2 single threaded implementation () 2024-01-11 20:50:51 +01:00
Samuel Yvon
56b2a6b53b
First Version ()
* 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>
2024-01-11 20:37:08 +01:00