Commit Graph

624 Commits

Author SHA1 Message Date
gonix
27b9232b7d
CalculateAverage_gonix update (#461)
Co-authored-by: Giedrius D <d.giedrius@gmail.com>
2024-01-17 18:48:05 +01:00
Dr Ian Preston
e549efa3af
A fast implementation without unsafe (#462) 2024-01-17 18:44:02 +01:00
zerninv
765583e7d8
improve equality check performance, use graal jvm (#454) 2024-01-17 18:35:22 +01:00
Jaromir Hamala
927880b97e
edge-case in hashing fixed (#459)
also a bunch of smaller improvements
2024-01-17 18:28:03 +01:00
Roman Musin
77872e197d
Version 3 (#455) 2024-01-17 18:07:56 +01:00
Gunnar Morling
1bbddaaaf6 Leaderboard update 2024-01-16 22:55:16 +01:00
gonix
7f5f808176
CalculateAverage_gonix initial attempt (#413) 2024-01-16 22:49:39 +01:00
karthikeyan97
455b85c5af
karthikeyan97 implementation (#417)
Co-authored-by: Karthikeyans <karthikeyan.sn@zohocorp.com>
2024-01-16 22:46:11 +01:00
Peter Levart
ffb09bf4bf
plevart: Look Mom No Unsafe! (#452) 2024-01-16 22:34:40 +01:00
Gunnar Morling
7ed5e1b0d4 Leaderboard, formatting 2024-01-16 22:31:50 +01:00
Van Phu DO
1804fc5b5f
Native build, less memory acess, improved hash mixing (#449) 2024-01-16 22:31:00 +01:00
adri
576291611d
Memory mapped buffers, ints instead of floats and epsilon GC (#451)
* Modify baseline version to improve performance

- Consume and process stream in parallel with memory map buffers, parsing it directly
- Use int instead of float/double to store values
- Use Epsilon GC and graal

* Update src/main/java/dev/morling/onebrc/CalculateAverage_adriacabeza.java

* Update calculate_average_adriacabeza.sh

---------

Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2024-01-16 22:23:35 +01:00
Anthony Goubard
e4b717e1a4
Read file in multiple threads and String to Text (#427)
* - Read file in multiple threads if available: 17" -> 15" locally
- Changed String to BytesText with cache: 12" locally

* - Fixed bug
- BytesText to Text
- More checks when reading the file

* - Combining measurements should be thread safe
- More readability changes
2024-01-16 22:10:38 +01:00
Arman Sharif
7bd2df7c59
armandino: second attempt (#445) 2024-01-16 22:04:37 +01:00
Keshavram Kuduwa
b1e6a120a4
Optimised code to iterate over non-null measurements (#444)
Co-authored-by: Keshavram Kuduwa <keshavram.kuduwa@apptware.com>
2024-01-16 22:02:26 +01:00
Artsiom Korzun
c080143ca8
fix masking (#442)
fix masking

fix masking
2024-01-16 21:54:42 +01:00
Gunnar Morling
f8874c3886 Leaderboard update 2024-01-15 21:21:38 +01:00
Artsiom Korzun
073d3aecdf
native version (#434) 2024-01-15 21:07:53 +01:00
Gunnar Morling
116f623f3e Leaderboard update 2024-01-15 21:07:30 +01:00
Farid
07ac6a53c3
CalculateAverage_faridtmammadov (#406)
* create calculate average frd

* rename to mach github username

* add licesnce header

* make script executable

---------

Co-authored-by: Farid Mammadov <farid.mammadov@simbrella.com>
2024-01-15 21:01:16 +01:00
Jin Cong Ho
b7c24f95cd
Submission #2: jincongho (#416) 2024-01-15 20:48:32 +01:00
Gunnar Morling
6df2863cfc Leaderboard update 2024-01-15 20:43:50 +01:00
Thomas Wuerthinger
be179dcf07
Improve scheduling for thomaswue (#358)
* Improve scheduling for another 6%.

* Tune hash function and collision handling.
2024-01-15 20:43:12 +01:00
Bartłomiej Pietrzyk
c926aab444
Initial 1brc version by plbpietrz (#219)
* Initial version

* Small result merge optimisation

* Switched from reading bytes to longs

* Reading into internal buffer, test fixes

* Licence and minor string creation optimisation

* Hash collision fix
2024-01-15 20:30:04 +01:00
zerninv
d18b10708b
Sixth attempt CalculateAverage_zerninv.java (#407)
* rethink chunking

* fix typo
2024-01-15 20:25:52 +01:00
Gunnar Morling
dd9a3dde7e
Update pull_request_template.md 2024-01-15 20:12:31 +01:00
Vemana
6fe395cbae
Squashing a bunch of commits together. (#428)
Commit#2; Uplift of 7% using native byteorder from ByteBuffer.
Commit#1: Minor changes to formatting.

Co-authored-by: vemana <vemana.github@gmail.com>
2024-01-15 20:10:50 +01:00
Arjen Wisse
702d41df15
Small optimizations (#426) 2024-01-15 20:00:52 +01:00
Artsiom Korzun
987da54906
branchy version (#408) 2024-01-15 19:57:34 +01:00
Gunnar Morling
ca075b66f2 Leaderboard update 2024-01-15 19:04:29 +01:00
eriklumme
785e517c14
CalculateAverage_eriklumme first submission (#221)
* Initial commit with custom implementation, 2:40

* Initial file-channel based version, 1:27

* Individual maps for executors, 0:54

* Use better-suited map: 0:34

* Verified correct, skip CharBuffer, :37

* Minor improvements and cleanup, 0:24

* String to byte[], 0:21

* Additional cleanup, use GraalVM, 0:17

* Faster number handling, 0:11

* Faster buffer reading, 0:08

* Prepare for environment with variable RAM and CPU, 0:08

* Fix bug causing issues with certain buffer sizes

* Larger overhead to not miss long station names that overlap buffers

* Reorder scripts and fix one-off bug
2024-01-15 19:03:51 +01:00
Dr Ian Preston
eaa4050a1b
12s (25%) faster on 4 core i7 (#421) 2024-01-15 18:58:23 +01:00
Jaromir Hamala
dbdd89a847
jerrinot's initial submission (#424)
* initial version

let's exploit that superscalar beauty!

* give credits where credits is due

also: added ideas I don't want to forget
2024-01-15 18:55:22 +01:00
Van Phu DO
677d94e5cf
Optimized with less constructor args + low collision mixer (#420)
* use all CPUs

* use graal

* optimized with less constructor arg

* optimized with low collision mixer
2024-01-15 18:53:31 +01:00
Marko Topolnik
ecab306338
10k improvement (#419)
* Remove commented-out params from the script

* General cleanup and refactoring

* Deoptimize parseTemperatureSimple

* Optimize nameEquals()
2024-01-15 18:49:32 +01:00
Pratham
6c7012a43e
Add improvements (#412)
- custom hashmap
- avoid string creation
- use graal
2024-01-15 18:47:06 +01:00
Eve
cd0e20b304
multithreaded version! (#415) 2024-01-15 18:39:36 +01:00
Gunnar Morling
61f5618ff2
Adding list of external resources 2024-01-14 22:02:21 +01:00
Gunnar Morling
d262b3d199 Leaderboard 2024-01-14 21:06:37 +01:00
Bruno Félix
bb5679f463
Further improved performance by improving the parsing logic so that strings for city names are not allocated with each row. (#323)
Co-authored-by: Bruno Felix <bruno.felix@klarna.com>
2024-01-14 20:56:11 +01:00
zerninv
990f884ff1
change temperature parsing approach (#405) 2024-01-14 20:47:42 +01:00
Gunnar Morling
5fb1218064 Leaderboard update 2024-01-14 19:12:29 +01:00
unbounded
f9fb9bb384
Add implementation for user unbounded (#394)
Implementation that uses the Vector API for the following
 - scan for separators
 - calculate hash
 - n-way lookup in hash table
 - parse digits

e; fix queue size
2024-01-14 19:11:57 +01:00
Jesse Van Rooy
30987d778c
CalculateAverage_JesseVanRooy (Submission 1) (#335)
* Submission #1

* Submission #1 (Fixed casing of file names)

* Submission #1 (Added executable to Git permissions)

* Submission 1 (Fixed incorrect map size)

* Submission 1 (Fixed output problems on Windows)
2024-01-14 19:09:58 +01:00
Stefan Sprenger
3fbc4a2fa8
Update submission (#385)
* feat(flippingbits): Improve parsing of station names

* chore(flippingbits): Remove obsolete import

* feat(flippingbits): Use custom hash map

* feat(flippingbits): Use UNSAFE

* fix(flippingbits): Support very small files

* chore(flippingbits): Few cleanups

* chore(flippingbits): Align names

* fix(flippingbits): Initialize hash with first byte

* fix(flippingbits): Fix initialization of hash value
2024-01-14 19:06:01 +01:00
Arjen Wisse
fc6fca4315
My attempt to parse it quickly (#401)
* My approach

* Update calculate_average_arjenw.sh

---------

Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2024-01-14 19:03:07 +01:00
Jin Cong Ho
32bb237091
Initial Submission (#389)
Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2024-01-14 18:50:24 +01:00
Dmitry Bufistov
0ca7c485aa Dmitry challenge 2024-01-14 18:45:30 +01:00
Anita SV
3c36b5b0a8
A SAFE and readable version (#388)
* A SAFE and readable version

* Remove unused functions

* Making it slower, removing custom hashMap
2024-01-14 18:41:04 +01:00
tkosachev
1fd4712ed3 CalculateAverage_tkosachev
Runs 13.5 sec using 8 cores of i7-1265U laptop with 16 GB RAM.
2024-01-14 18:36:20 +01:00