Commit Graph

718 Commits

Author SHA1 Message Date
Jaromir Hamala
9e2199a5d7
nobody should try this at home (#709) 2024-02-01 11:01:18 +01:00
Thomas Wuerthinger
241d42ca66
One last improvement for thomaswue (#702)
* Combine <8 and 8-16 cases into one case.

* Adopt mask-based approach for the <16 length city fast path (idea of Van Phu Do).

* Slightly improved code layout.

* Update perf number.
2024-02-01 10:57:05 +01:00
Gunnar Morling
4debc7c5dd 10 runs for evaluating top entries 2024-02-01 10:45:37 +01:00
Gunnar Morling
7dcf7071ee
Update pull_request_template.md 2024-01-31 22:53:37 +01:00
Gunnar Morling
722773378a Leader board update 2024-01-31 22:41:52 +01:00
Guruprasad Sridharan
d1cdb8587c
1brc submission by godofwharf (#658)
* 1brc submission by godofwharf

* Fix prepare script

* Modify shebang

* Fix formatting

* Remove unused FastHashMap implementation
2024-01-31 22:22:39 +01:00
gonix
540ef2c863
CalculateAverage_gonixunsafe: an attempt in the unsafe category (#695)
Co-authored-by: Giedrius D <d.giedrius@gmail.com>
2024-01-31 22:17:08 +01:00
Elliot Barlas
a11e5a1247
Use GraalVM native image for ebarlas submission. (#698) 2024-01-31 22:12:35 +01:00
Jamal Mulla
e639e2a045
Second attempt with various improvements (#510)
* 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

* Native

* Lots of inlining and improvements

* Add back length check

* Fixes

* Small changes

---------

Co-authored-by: Jamal Mulla <j.mulla@mwam.com>
2024-01-31 22:09:25 +01:00
Sudhir Tumati
b91c95a498
sudhirtumati implementation (#598) 2024-01-31 21:57:32 +01:00
Breejesh Rathod
33143cdbb8
breejesh Submission (#670)
* 1BRC breejesh

* Fix output

* Fix formatting

* Format and remove preview feature

* Optimize merge

* Revert "Optimize merge"

This reverts commit 28c9b4af29e1c90e992e8a1fd4f3258895782c2c.

---------

Co-authored-by: Breejesh Rathod <breejesh.rathod@m2pfintech.com>
2024-01-31 21:52:40 +01:00
Stephen Von Worley
a533019ad4
CalculateAverage_stephenvonworley submission (#677)
* first release

* change constants to names

---------

Co-authored-by: Stephen Von Worley <von@von.io>
2024-01-31 21:49:19 +01:00
Sebastian Lövdahl
a8823a1f93
slovdahl's submission (#691)
* slovdahl: First submission

* More JAVA_OPTS flags, 0.1s better locally
2024-01-31 21:37:50 +01:00
Aleksey Shipilëv
47046f327d
Shipilev: improve comments (#692) 2024-01-31 20:30:41 +01:00
Artsiom Korzun
e81326b83d
trying TuneInlinerExploration=1 (#662) 2024-01-31 20:18:13 +01:00
Cedric Boes
d496adb049
Adding solution for cb0s (#575)
* feat: add solution for cb0s

* Update prepare_cb0s.sh

* Update calculate_average_cb0s.sh

* Update prepare_cb0s.sh

---------

Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2024-01-31 20:13:40 +01:00
Dr Ian Preston
f1fd7b7fe5
actually use jvm args! (#688)
Co-authored-by: Ian Preston <ianopolous@protonmail.com>
2024-01-31 20:05:47 +01:00
Van Phu DO
3c454d0222
final version for abeobk (#654)
* final version

* Correct stupid mistake

* min/max trick does not help that much, setting initial value does.

* cut the tail
2024-01-31 20:03:20 +01:00
Gunnar Morling
f0f6570975 Leaderboard update 2024-01-31 18:30:47 +01:00
Serkan ÖZAL
6a2e5058af
serkan-ozal's 7th submission: (#679)
- use smaller regions (increased region count) so there will be less idle time for the workers who completed their tasks
- get rid of some configuration related stuff during initialization which might save a few tens of milliseconds hopefully
- update temperature value parsing instruction order to get benefit of ILP better (hopefully)
2024-01-31 18:21:25 +01:00
Jaromir Hamala
9b9bb8ed3f
jerrinot - final(?) improvements (#690)
* decrease instruction level parallelism

it turns out doing 2 things was too much. perf annotate showed spilling.

* more trickery with latency hiding

* work-stealing, lookp tables, credits

* do not assume gender
2024-01-31 18:17:34 +01:00
Roman Stoffel
b529ef2a59
Gamlerhart Last Update: Disabling GC (#636)
* Disable The GC

Cuts off sometimes up to 1 seconds
of runtime on my machine.

* Remove Confusing Byte-Order Parameter

Bytes have no Byte-Order ;)

* Provide More Memory to Run the 10K set

* Fix Comparison Function
2024-01-31 18:13:08 +01:00
Peter Levart
3cc4fc85d8
update1: restructuring for better compilation (#661) 2024-01-31 18:07:56 +01:00
Yevhenii Melnyk
c5b7b19e57
melgenek: minor improvements (#655)
* melgenek: minor improvements

* More memory
2024-01-31 18:05:09 +01:00
Gunnar Morling
6013760c78 Leaderboard update 2024-01-31 18:00:25 +01:00
Judekeyser
711aa2395a
Justin's implementation (#666)
* Justin's implementation

* Rename justin to Judekeyser

* Back to previous implementation of vectors

* Reading names as sequences of integers

* Fixing tests

* Scale down the number of NIO workers

---------

Co-authored-by: Justin Dekeyser <justin.dekeyser@Justins-MacBook-Pro.local>
2024-01-31 17:59:50 +01:00
zerninv
11a89d6cb8
Attempt to fix segfault CalculateAverage_zerninv.java (#635)
* attempt to fix segfault, graal native

* fix last bytes for last line handler

* fix typo

* one more attempt
2024-01-31 17:44:50 +01:00
John Ziamos
e2ee4cbc30
give in to the graal (#660) 2024-01-31 17:41:40 +01:00
Andrzej Nestoruk
5728ca9482
copy city byte array only when creating a new record (#653) 2024-01-31 17:26:22 +01:00
nicky
f55317973c
batched writing to disk (#659)
instead of writing result line by line, implemented random.choices for randomisation of multiple stations and writing large batche ot the disk, also instead of "round" just using :.1f which is probably quicker on a large scale, because it's not a mathematical function
2024-01-31 17:07:29 +01:00
Dr Ian Preston
0c5c22882b
Process two consecutive lines at a time (#651)
Use a better hash function

Don't return index from temperature parsing
extra JVM args

Co-authored-by: Ian Preston <ianopolous@protonmail.com>
2024-01-31 17:06:05 +01:00
Gunnar Morling
ab2a9a6fe5
Update README.md 2024-01-31 16:15:50 +01:00
Gunnar Morling
afb7e2c390
Update README.md 2024-01-31 11:59:00 +01:00
Gunnar Morling
bee7197ce9 Leaderboard update 2024-01-31 10:08:56 +01:00
Serkan ÖZAL
f6aa09926c
serkan-ozal's 6th submission: (#667)
- process multiple lines at a time to get the benefit of ILP (Instruction Level Parallelism) better
2024-01-31 09:56:11 +01:00
Quan Anh Mai
1a4ac0d249
Final submission (#669)
* more efficient max, min

* optimize pipeline

* apply parallel to both submissions

* fix bug
2024-01-31 09:47:48 +01:00
Anita SV
af2b5517c8
anitasv 3.8s vs 3m 19s : Improved using custom hashmap. (#672)
* Some optimizations while staying safe

* bug fix not caught on tests
2024-01-31 09:41:33 +01:00
Arman Sharif
974ddbae60
armandino: misc improvements (#673) 2024-01-31 09:39:08 +01:00
Thomas Wuerthinger
a5ce4ba771
Added comments to used flags, clean up code, final fine tuning. (#674) 2024-01-31 09:34:15 +01:00
Gunnar Morling
7f0e517811 Leaderboard update 2024-01-29 22:28:17 +01:00
Jaime Polidura
2a44f8d390
Added improvments on string copying, string comparation & calculation of next index in case of collision in custom map (#650)
* added code

* Fixed pointers bugs

* removed my own benchmark

* added comment on how I handle hash collisions

* executed mwvn clean verify

* made scripts executable & fixed rounding issues

* Fixed way of dealing with hash collisions

* changed method name sameNameBytes to isSameNameBytes

* changes script from sh to bash

* fixed chunking bug

* Fixed bug in chunking when file size is too small

* added Runtime.getRuntime().availableProcessors

* added improvemnts on string copying, calculation of next index of Map in case on collision & improved string comparing
2024-01-29 22:22:22 +01:00
Thomas Wuerthinger
036f9a01b1
Clean up, fine tuning, credit section for thomaswue (#646)
* Some clean up, fine tuning, removing non-supported options, added credit
section and additional comments.

* Put license header year back to 2023 to pass checks.

* Remove static linking (as it requires some more setup on the target
machine).
2024-01-29 22:19:23 +01:00
Serkan ÖZAL
5b9703283a
serkan-ozal's 5th submission: (#648)
- use region address directly over null base memory address to get rid of extra offset calculation
2024-01-29 22:11:27 +01:00
Dr Ian Preston
c351056524
fix ordering in README.md (#649) 2024-01-29 22:06:21 +01:00
Gunnar Morling
8fbd632580 Leaderboard update 2024-01-29 21:36:45 +01:00
Paweł Adamski
d9d2f3f97f
Paweł Adamski - 1brc submission (#629)
* Paweł Adamski - 1BRC challenge

* Paweł Adamski - 1BRC challenge

* Make files executabe
2024-01-29 21:35:51 +01:00
Serkan ÖZAL
7d52a37600
serkan-ozal's 4th submission: (#645)
- split big regions into shared smaller tasks, so the workers complete their own tasks can pick up from the remaining instead of leaving its core idle
- reduce number of executed instructions in the hot path
2024-01-29 21:27:06 +01:00
tivrfoa
f4a0039a59
Try more chunks than threads, and of different sizes (#644)
/**
 * Solution based on thomaswue solution, commit:
 * commit d0a28599c2
 * Author: Thomas Wuerthinger
 * Date:   Sun Jan 21 20:13:48 2024 +0100
 *
 * The goal here was to try to improve the runtime of his 10k
 * solution of: 00:04.516
 *
 * With Thomas latest changes, his time is probably much better
 * already, and maybe even 1st place for the 10k too.
 * See: https://github.com/gunnarmorling/1brc/pull/606
 *
 * But as I was already coding something, I'll submit just to
 * see if it will be faster than his *previous* 10k time of
 * 00:04.516
 *
 * Changes:
 *   It's a similar idea of my previous solution, that if you split
 * the chunks evenly, some threads might finish much faster and
 * stay idle, so:
 *   1) Create more chunks than threads, so the ones that finish first
 * can do something;
 *   2) Decrease chunk sizes as we get closer to the end of the file.
 */
2024-01-29 21:24:04 +01:00
Van Phu DO
8e407ca79d
apply loop unroll trick (#643)
* apply loop unroll trick

* less assign op, a bit faster
2024-01-29 21:21:04 +01:00
Panagiotis Drakatos
31a6740ef1
New Fresh Solution to Optimize Execution time (#641)
* CalculateAverage_pdrakatos

* Rename to be valid with rules

* CalculateAverage_pdrakatos

* Rename to be valid with rules

* Changes on scripts execution

* Fixing bugs causing scripts not to be executed

* Changes on prepare make it compatible

* Fixing passing all tests

* Increase direct memory allocation buffer

* Fixing memory problem causes heap space exception

* Fresh solution to optimize performance of the execution
2024-01-29 21:16:40 +01:00