Commit Graph

465 Commits

Author SHA1 Message Date
45b3014cbb Store station name as byte slice and only convert to string once at the end, but using u64 hash as key is still faster 2024-12-31 11:24:31 +01:00
98cd6e930c Make faster by splitting borrows of byte slice 2024-12-31 11:13:34 +01:00
40a8d6d929 Some cleanup 2024-12-31 10:48:10 +01:00
0ea10a3c1b Ultra slow lua solution (aka as slow as my naive rust solution) 2024-09-02 15:15:28 +02:00
3dbc9c32d1 Fix warning of deprecated key name default_features 2024-09-02 09:27:02 +02:00
4d586c809e Under 2 minutes, could probably start optimizing as I did for rust, but it's good enough for now 2024-08-30 15:33:40 +02:00
5bb2363eee mmapped file slightly faster 2024-08-30 14:23:46 +02:00
eb2ed15e33 First julia impl, very slow 2024-08-30 13:39:21 +02:00
dfcc8562e6 ran cargo clippy 2024-08-30 10:09:39 +02:00
212e595a7e ran cargo fmt 2024-08-30 10:00:00 +02:00
7b8943976f Revert last commit
Accidentally kept the hashing and when I removed it the solution slowed down again

This reverts commit aaa11c7b94.
2024-08-28 14:18:39 +02:00
aaa11c7b94 Worse than fx (despite me hashing the station names there too) better than vanilla 2024-08-28 14:07:16 +02:00
07a8e7fc69 add solution I found which helped me get faster, unfortunately the solution itself is false (?) 2024-08-28 13:09:47 +02:00
0aa9d8be86 changed hash to add debug mode 2024-08-28 11:32:35 +02:00
b1c064a92f changed key hash 2024-08-28 09:37:48 +02:00
ea06a600ce changed key hash 2024-08-28 09:37:38 +02:00
ac5c45f8d5 fxhashmap faster afterall... 2024-08-28 08:52:40 +02:00
b8f589096f extract hash into own module 2024-08-27 13:54:23 +02:00
c306083192 run cargo fmt 2024-08-27 13:24:14 +02:00
a45ddd2dc0 use easy_parallel from smol project instead of std::thread. No performance improvement, but easier 2024-08-27 13:23:51 +02:00
e832475fc3 stuff 2024-08-27 11:48:08 +02:00
608cbb59e5 managed to get faster again by searching hashmap using &str and only converting to String on insertion. Removed FxHashMap again 2024-08-27 10:57:23 +02:00
53ea542f36 update dependencies, create benches 2024-08-19 14:58:34 +02:00
d246c54cd9 removed polars example because it wouldn't compile anymore, even when updating to latest version. It also massively reduced the number of downloaded crates 2024-08-19 13:55:19 +02:00
2a89d061a0 Use FxHashMap for multi_threaded_smol.rs 2024-08-19 10:57:18 +02:00
7add8793a5 managed to get library version on par with the reference implementation by using memmap2. I'm understanding scoped threads a little better now... I think
The fixed line length solution is still just as slow, even using memmap
2024-08-19 10:39:19 +02:00
b1d7ebaaea Create multi threaded version using smol for async reading of the file ~1 seconds faster 2024-08-13 14:14:42 +02:00
bbc89aa2b3 Create single threaded version using smol for async reading of the file 46 -> 40 seconds 2024-08-13 13:50:49 +02:00
b53212103b Tried looking at what the performance would be if I read the data from a file where every line would have the same length ie. not having to read until eol. But despite not having to search the \n byte (or ; because every station name and temperatures are padded with null bytes) and having a fixed size array instead of vec this is slower (the normal read_until version is actually still just as fast, while the new one is 10x slower) 2024-08-12 10:48:07 +02:00
8ffea918c4 either it's slightly faster or it's a measurement error 2024-08-05 12:52:57 +02:00
3b3801ba0d Going back because compile times trippled 2024-08-05 11:22:08 +02:00
1c066ec113 accidentally committed bug 2024-08-05 10:54:59 +02:00
13c54a2811 FxHashMap made me faster, memmap makes me slower, guess I'm using it wrong 2024-08-05 10:53:17 +02:00
40627f9aeb add solution using libraries to see how fast I can get. For now no difference 2024-08-02 11:43:23 +02:00
45ae29d3cd organize differently, added criterion as dev-dependency for benchmarks 2024-08-01 15:02:24 +02:00
8eefe06e8b Formatting 2024-08-01 10:23:14 +02:00
34768d3ec1 forgot feature flag in last commit 2024-07-31 14:00:00 +02:00
0ffbff4cbf added 2 new implementations from users who commented on my reddit post as a comparison 2024-07-31 13:58:42 +02:00
25d20169aa some improvements by reducing the casts, implemented a get_pos function to get position of byte in byteslice by bitmasking... slightly slower 2024-07-31 12:49:16 +02:00
2c23e30fe0 hash stationnames myself for faster HashMap 2024-07-31 09:27:02 +02:00
da72f38e42 don't need own parse_line function 2024-07-29 12:09:05 +02:00
5aa94e67d1 use read_until method instead of custom function because it is faster than mine using the Bytes struct 2024-07-25 15:35:10 +02:00
c6b8273d65 applied clippy 2024-07-25 13:05:53 +02:00
e230a5ce2c My multi-treaded version is now faster than polars and takes less time to compile. It's a little more complex though 2024-07-25 10:03:37 +02:00
dcaca0cc65 managed to make my solution super fast... but it's also incorrect 2024-07-24 15:19:17 +02:00
16cf4ca2ca moved from reading String to reading bytes. A little faster, still need to implement for multithreaded solution 2024-07-23 16:30:50 +02:00
b4e3992c65 mostly made output a bit nicer 2024-07-23 13:23:26 +02:00
393f802741 remove the need for mutex by using channels 2024-07-23 13:23:26 +02:00
327fe8564e use scopes to allow to use mutex without arc
apply clippy to my implementations
2024-07-23 13:23:26 +02:00
14d608b209 Fastest yet with scaled integers instead of floats 2024-07-23 13:23:26 +02:00