Commit Graph

57 Commits

Author SHA1 Message Date
Nick Palmer
8e6298cd2a
Adding Nick Palmer's submission;
* Memory mapped file, single-pass parsing, custom hash map, fixed thread pool
The threading was a hasty addition and needs work

* Used arraylist instead of treemap to reduce a little overhead
We only need it sorted for output, so only construct a treemap for output

* Attempt to speed up double conversion

* Cap core count for low-core systems

* Fix wrong exponent

* Accumulate measurement value in double, seems marginally faster

Benchmark                                                           Mode  Cnt    Score    Error   Units
DoubleParsingBenchmark.ourToDouble                                 thrpt   10  569.771 ±  7.065  ops/us
DoubleParsingBenchmark.ourToDoubleAccumulateInToDouble             thrpt   10  648.026 ±  7.741  ops/us
DoubleParsingBenchmark.ourToDoubleDivideInsteadOfMultiply          thrpt   10  570.412 ±  9.329  ops/us
DoubleParsingBenchmark.ourToDoubleNegative                         thrpt   10  512.618 ±  8.580  ops/us
DoubleParsingBenchmark.ourToDoubleNegativeAccumulateInToDouble     thrpt   10  565.043 ± 18.137  ops/us
DoubleParsingBenchmark.ourToDoubleNegativeDivideInsteadOfMultiply  thrpt   10  511.228 ± 13.967  ops/us
DoubleParsingBenchmark.stringToDouble                              thrpt   10   52.310 ±  1.351  ops/us
DoubleParsingBenchmark.stringToDoubleNegative                      thrpt   10   50.785 ±  1.252  ops/us
2024-01-03 17:21:56 +01:00
Robin Moffatt
eceaf1868d
Add note about sharing non-Java solutions on GH discussions;
Also fixing millisecond separator

Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2024-01-03 16:30:36 +01:00
Gunnar Morling
eb8a7150bc Leaderboard update 2024-01-03 16:26:38 +01:00
Elliot Barlas
1b048c876d
Adding Elliot Barlas' submission 2024-01-03 16:25:24 +01:00
Gunnar Morling
2210710ceb Leaderboard update 2024-01-03 16:11:22 +01:00
Roman Schweitzer
ea035790fd
Using DoubleAccumulators to save on a measurment creation (#26) 2024-01-03 16:10:31 +01:00
Gunnar Morling
a3e3a3f88b Leaderboard update 2024-01-03 15:59:57 +01:00
Chris Riccomini
e9f062ce4d Adding Chris Riccomini's submission 2024-01-03 15:56:31 +01:00
Gunnar Morling
8380ab5e57 Showing java version in eval script 2024-01-03 15:41:12 +01:00
Sam Pullara
c832d64afe
Adding Sam Pullara's submission; 2024-01-03 15:35:51 +01:00
Alexander Yastrebov
0fc9e8d545 Add a script to transform output into CSV format
It is useful to debug differences between implementations, e.g.:
```sh
$ while ./create_measurements.sh 1000 && diff <(./calculate_average_royvanrijn.sh 2>/dev/null | ./tocsv.sh) <(./calculate_average.sh 2>/dev/null | ./tocsv.sh) ; do echo OK; done
Created file with 1,000 measurements in 50 ms
60c60
< Bucharest;-2.9;2.9;6.1
---
> Bucharest;-2.9;2.8;6.1
265c265
< Petropavlovsk-Kamchatsky;0.9;9.3;17.7
---
> Petropavlovsk-Kamchatsky;0.9;9.2;17.7
```

For #14
2024-01-03 14:56:36 +01:00
Gunnar Morling
5a46fb1bed
README clarifications 2024-01-03 14:48:55 +01:00
Rene Schwietzke
70fcbf9c27 Removed changes to formatting 2024-01-03 13:03:37 +01:00
Rene Schwietzke
04bd2d69b6 Faster version of the data generator 2024-01-03 13:03:37 +01:00
Karl Heinz Marbaise
7d485d0e8b Usage of try-with-resources
pom file cleanup
2024-01-03 13:03:03 +01:00
Dr Heinz M. Kabutz
09d3530d44 fixed mistake in class name 2024-01-03 10:15:01 +01:00
Gunnar Morling
e7e7deb64a Evaluating Aurelian Tutuianu's entry 2024-01-02 21:20:40 +01:00
Aurelian Tutuianu
1721848570 - implementation by padreati 2024-01-02 21:16:49 +01:00
Gunnar Morling
d20e71d483 Evaluating Roy's updated entry 2024-01-02 21:01:58 +01:00
Gunnar Morling
628b220e6a Numbering 2024-01-02 20:46:33 +01:00
Gunnar Morling
7b7a7d1667 Evaluating bjhara's entry 2024-01-02 20:43:46 +01:00
Hampus Ram
6b13d52b67 Implementation using memory mapped file 2024-01-02 20:41:33 +01:00
Gunnar Morling
5e80d8a7b0 Evaluating Kuduwa Keshavram's submission 2024-01-02 20:30:41 +01:00
Keshavram Kuduwa
bea9cfdbd1 Keshavram Kuduwa's Submission 2024-01-02 20:25:56 +01:00
Gunnar Morling
dfd26e8168 Evaluating itaske's submission 2024-01-02 20:07:39 +01:00
itaske
48a6e49e47
Adding itaske's implementation 2024-01-02 20:01:33 +01:00
Gunnar Morling
15980f4eab Only one time 2024-01-02 19:59:37 +01:00
Gunnar Morling
0fa7f1ea65 Updating evaluation scripts 2024-01-02 19:36:58 +01:00
Adam Leskis
a6c0f50ab9 fix simple typo 2024-01-02 18:24:31 +01:00
Gunnar Morling
c4128e56f7
Clarifying allowed builds and expanding FAQ 2024-01-02 18:24:02 +01:00
Gunnar Morling
0c4921176d
FAQ additions 2024-01-02 11:09:44 +01:00
Gunnar Morling
04f1bfbfbf
Update README.md 2024-01-02 10:38:07 +01:00
Gunnar Morling
566a2ec25a
FAQ entry on genericity of station names 2024-01-01 19:04:22 +01:00
Gunnar Morling
4a9f2fb3d4
Update README.md 2024-01-01 18:38:31 +01:00
Gunnar Morling
8b0b1e3d45
Updating leaderboard 2024-01-01 18:38:16 +01:00
Roy van Rijn
2155286d7a
Initial implementation, using BufferedReader, parallel processing, combining everything in a single go, sorting afterwards (unoptimized) 2024-01-01 18:33:40 +01:00
Gunnar Morling
647d0c578e README update 2024-01-01 15:49:01 +01:00
Gunnar Morling
a08f9cc2c6 README update 2024-01-01 15:38:16 +01:00
Gunnar Morling
5e2657d809 README update 2024-01-01 14:39:46 +01:00
Gunnar Morling
940e426a5f
Update README.md 2023-12-31 17:12:22 +01:00
Gunnar Morling
28025a398a
Update README.md 2023-12-31 10:47:20 +01:00
Nicolai Parlog
b3d23eb8b2 Sort weather stations 2023-12-29 21:24:02 +01:00
Nicolai Parlog
d53b3aac03 Don't reformat weather station comment 2023-12-29 18:30:42 +01:00
Nicolai Parlog
52ce423874 Don't check measurements* files for a license header 2023-12-29 18:30:42 +01:00
Nicolai Parlog
a05f61039f Make Git ignore all measurements* files 2023-12-29 18:30:42 +01:00
Gunnar Morling
7f8493ce78 📝 README update 2023-12-29 10:24:24 +01:00
Gunnar Morling
3854500520 📈 More stations 2023-12-28 22:33:15 +01:00
Gunnar Morling
fd9a5f9799 📈 More stations 2023-12-28 22:12:43 +01:00
Gunnar Morling
6a8644523f 📝 README update 2023-12-28 22:11:37 +01:00
Gunnar Morling
796b156f01 📝 README update 2023-12-28 19:01:34 +01:00