Commit Graph

242 Commits

Author SHA1 Message Date
Gunnar Morling
6d4f8556d8 Leaderboard update 2024-01-05 20:26:47 +01:00
Ramzi Ben Yahya
e8a3011aca
rby: Has some interesting optimisations but could be improved further with a custom hash map
* rby: Could be improved with a custom hashmap

* Flag not needed

* Fixes the tests when running ./test.sh rby
2024-01-05 20:25:51 +01:00
Tobi
d617039d10
Twobier's submission
* First performance tweaks

* further tweaks

* collect into a treemap

* Tweak JVM options

* Inline rounding into collector

* reduce some operations

* oops, add missing braces

* tweak JVM options

* small fixes

* add min and max to processing

* fix min

* remove compact strings

* replace sumWithCompensation with naive sum implementation

* use UseShenandoahGC

* integrate mmap

* integrate mmap

* Fix messed up array logic

* Set jdk version
2024-01-05 20:18:27 +01:00
Alexander Yastrebov
3989260285 Add example of how to use sdk 2024-01-05 20:14:07 +01:00
Filip Hrisafov
133a89088a
#122 add pull request template 2024-01-05 19:39:37 +01:00
Markus Ebner
36dac255cf
Update seijikun implementation
* Use Integer calculation instead of double, add unit-test

* Bring back StationIdent optimization

Originally, StationIdent was using byte[] to store names, so the extra
String allocation could be avoided. However, that produced incorrect
sorting.
Sorting is now moved to the result merging step. Here, names are
converted to Strings.

* Implement readStationName with SIMD 256bit

* Rebase and cleanup test code, now that it's in the project

* Fix seijikun formatting

* Fix test failure in specific jobCnt edge-cases

* Also switch to graalvm
2024-01-05 19:35:15 +01:00
deemkeen
e3f6c3aaf7
initial deemkeen 2024-01-05 19:30:02 +01:00
Gunnar Morling
f7cc03fc56 Leaderboard update: using graal (rather than graalce) for @spullara as requested, which I had gotten wrong at first 2024-01-05 19:02:57 +01:00
Gunnar Morling
7dd282f954 Leaderboard update 2024-01-05 19:02:57 +01:00
Artsiom Korzun
cec579b506 improved artsiomkorzun solution 2024-01-05 19:02:44 +01:00
Keshavram Kuduwa
a53549ae50
Resolves #102 and Code Optimizations 2024-01-05 18:35:31 +01:00
Filip Hrisafov
c4879d4104
Use proper key for CalculateAverage_filiphr;
* Revert using hash as a key
* Use custom key with Arrays#equals as a key in the Map of measurements
* Add sdk use java in the calculate script
2024-01-05 17:54:08 +01:00
Gunnar Morling
e420129f7d Leaderboard update 2024-01-05 17:45:06 +01:00
Roy van Rijn
3a2e0ed267 Adding more speed improvements, going for first again.
Updating script
2024-01-05 17:44:36 +01:00
Ujjwal Bharti
631722158c Added implementation for calculating average 2024-01-05 17:23:13 +01:00
Gunnar Morling
b0fa5f49ae Leaderboard update 2024-01-05 17:12:47 +01:00
Elliot Barlas
90084bec76 Update calculate_average_ebarlas.sh
Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2024-01-05 17:11:22 +01:00
Elliot Barlas
99b453334c Implement imperative state machine for floating point parser rather then generic, adaptive loop. 2024-01-05 17:11:22 +01:00
Samson Yeung
a1a9a19324 Custom atoi/atof parser logic, plus math changes.
This commit uses a custom atoi function that converts 12.4 to 124 so we
can do integer math instead of using doubles.
2024-01-05 16:59:29 +01:00
David Kopec
8a282ab71b
Add davecom Entry 2024-01-05 16:35:05 +01:00
Gunnar Morling
8703674765 Eval infra 2024-01-05 16:01:28 +01:00
Gunnar Morling
d7cdd1372d Leaderboard update 2024-01-05 11:46:24 +01:00
Roman Romanchuk
15cceae81b
fatroom's initial attempt
* Initial attempt

* Fixed temperature parsing

* Switched to memory mapped files

* Fixed rounding issues

* Inline of temperature reading

* Fixed output rounding
2024-01-05 11:30:18 +01:00
anandmattikopp
0d33213dc6 feat: first version of the 1brc solution 2024-01-05 11:24:14 +01:00
Arman Sharif
951c06e051 armandino: first submission 2024-01-05 00:13:44 +01:00
Gunnar Morling
e152e3c2a4 Leaderboard update 2024-01-05 00:13:00 +01:00
Alexander Yastrebov
69ff290d9d jgrateron: fix formatting
Followup on #69
2024-01-04 23:56:47 +01:00
Gunnar Morling
a9d149d013 Leaderboard update 2024-01-04 23:54:45 +01:00
Nick Palmer
39c421d520 Pass newly added tests :fingers-crossed: 2024-01-04 23:54:04 +01:00
Nick Palmer
6aa63e1bd5 Attempt nicer threading via streams and spliterators 2024-01-04 23:54:04 +01:00
Richard Startin
b2cd84c6bc make aggregation state grow dynamically 2024-01-04 23:48:54 +01:00
Alexander Yastrebov
b467319e58 test: use temperature value of 1.0
In case of key collision broken implementation will likely attribute
measurements to the wrong key and therefore it is better to have
non-zero value to end up with a wrong average value.

When all measurements are zero then averages are also zero even
when attributed to the wrong keys.

Updates #91
2024-01-04 23:46:46 +01:00
jairo
a17ab05d4b add implementation jgrateron 2024-01-04 23:43:43 +01:00
Nils Semmelrock
12ae36ade1
Adding Nils Semmelrock's submission
nothing fancy, just work on chunks in parallel and optimize bottlenecks
2024-01-04 23:31:47 +01:00
Roy van Rijn
1c74049991
Updating Roy's submission
* Added tests for endian-calculations (had these in a different class, perhaps handy for others to see as well)

Inlined the hash function, runs locally in 2.4sec now, hopefully endian issues fix

Added equals to support any city name up to 1024 in length, don't rely on hash

* For clarity I've updated the code so endian doesn't change the hashes, easier to debug.

* Fixing bug in array check

Simple is faster

* Also spotted the diff, not just the big exception

Fixed buffer limit issue
2024-01-04 23:22:48 +01:00
Moysés Borges Furtado
acb6510a02
Adding Moysés Borges Furtado's submission 2024-01-04 23:15:22 +01:00
Filip Hrisafov
e5d074651f #63 CI build should fail if formatting is incorrect 2024-01-04 21:45:24 +01:00
Gunnar Morling
d7b1f3d86d Leaderboard update 2024-01-04 21:44:32 +01:00
Alexander Yastrebov
723cc6a33b test: add sample with 10k unique keys
Input created via
```sh
bash -c 'for i in {1..10000} ; do echo "id$i;0.0" ; done' >./src/test/resources/samples/measurements-10000-unique-keys.txt
```
and output via baseline implementation.

Keys are short and very similar which improves chances for collision
and hence are good for testing.

Fixes #91
2024-01-04 21:39:04 +01:00
Gunnar Morling
e1a6832837 Adding a missing new line 2024-01-04 21:32:02 +01:00
Gunnar Morling
bbca6d952d Disabling GC logging for conformance with test runner 2024-01-04 21:22:14 +01:00
Alexander Yastrebov
8124a0ca08 test: add script to test all implementations
The script tests all implementations and prints PASS or FAIL status.
In case of failure it also prints implementation output to stderr.

This will be handy for adding new test samples.

Show test statuses and omit failing output:
```sh
$ ./test_all.sh 2>/dev/null
PASS artsiomkorzun
PASS baseline
PASS bjhara
PASS criccomini
FAIL ddimtirov
FAIL ebarlas
PASS filiphr
FAIL itaske
PASS khmarbaise
FAIL kuduwa-keshavram
FAIL lawrey
PASS padreati
FAIL palmr
PASS richardstartin
FAIL royvanrijn
FAIL seijikun
PASS spullara
PASS truelive
```

Show only passing implementations:
```
$ ./test_all.sh 2>/dev/null | grep PASS | cut -d' ' -f2
artsiomkorzun
baseline
bjhara
criccomini
filiphr
khmarbaise
padreati
richardstartin
spullara
truelive
```

For #61
2024-01-04 21:16:18 +01:00
Gunnar Morling
74a774e47d
Update README.md 2024-01-04 21:09:42 +01:00
Gunnar Morling
4f04adfe58 Leaderboard update 2024-01-04 21:06:45 +01:00
Elliot Barlas
a8bd6b58ce
Elliot Barlas: Use proper hash key collision detection scheme
* Use open-addressing scheme to deal with hash table collisions. Reduce concurrency from 16 to 8. Use bit mask rather than mod operator to confine hash code to table range.

* Properly handle file partitions that reside entirely within a line.

* Reorder statements in doProcessBuffer.
2024-01-04 21:06:19 +01:00
Gunnar Morling
0c59483985 #94 Name fix 2024-01-04 20:22:36 +01:00
Gunnar Morling
c4d2dc96a8 Leaderboard update 2024-01-04 20:01:40 +01:00
Alexander Yastrebov
4077d749e2 Fix baseline script name 2024-01-04 19:39:06 +01:00
Gunnar Morling
37350f1c8e Leaderboard update 2024-01-04 19:14:34 +01:00
Sam Pullara
4af3253d53
Updating Sam Pullara's entry 2024-01-04 19:14:06 +01:00