fdd92dd5f7Make it more like libraries.rs, tried reading whole file into vec, but it's very slow, maybe slice is better
main
Fabian Schmidt2024-12-31 12:58:04 +0100
45b3014cbbStore station name as byte slice and only convert to string once at the end, but using u64 hash as key is still fasterFabian Schmidt2024-12-31 11:24:31 +0100
608cbb59e5managed to get faster again by searching hashmap using &str and only converting to String on insertion. Removed FxHashMap againFabian Schmidt2024-08-27 10:57:23 +0200
d246c54cd9removed polars example because it wouldn't compile anymore, even when updating to latest version. It also massively reduced the number of downloaded cratesFabian Schmidt2024-08-19 13:55:19 +0200
7add8793a5managed 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 memmapFabian Schmidt2024-08-19 10:39:19 +0200
b1d7ebaaeaCreate multi threaded version using smol for async reading of the file ~1 seconds fasterFabian Schmidt2024-08-13 14:14:42 +0200
bbc89aa2b3Create single threaded version using smol for async reading of the file 46 -> 40 secondsFabian Schmidt2024-08-13 13:50:49 +0200
b53212103bTried 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)Fabian Schmidt2024-08-12 10:48:07 +0200
8ffea918c4either it's slightly faster or it's a measurement errorFabian Schmidt2024-08-05 12:52:57 +0200
0ffbff4cbfadded 2 new implementations from users who commented on my reddit post as a comparisonFabian Schmidt2024-07-31 13:58:42 +0200
25d20169aasome improvements by reducing the casts, implemented a get_pos function to get position of byte in byteslice by bitmasking... slightly slowerFabian Schmidt2024-07-31 12:49:16 +0200
5aa94e67d1use read_until method instead of custom function because it is faster than mine using the Bytes structFabian Schmidt2024-07-25 15:35:10 +0200
e230a5ce2cMy multi-treaded version is now faster than polars and takes less time to compile. It's a little more complex thoughFabian Schmidt2024-07-25 10:03:37 +0200
dcaca0cc65managed to make my solution super fast... but it's also incorrectFabian Schmidt2024-07-24 15:19:17 +0200
16cf4ca2camoved from reading String to reading bytes. A little faster, still need to implement for multithreaded solutionFabian Schmidt2024-07-23 16:30:50 +0200
91adbf4c1cActually I just needed to add target-cpu=native to [build] in Cargo.toml, did that and create HashMap with capacity, also added reference implementation (which uses libraries unlike my solution)Fabian Schmidt2024-07-23 13:23:26 +0200
00096647eeThe polars solution I saw on reddit a few months ago is also super slow. I'm thinking it might be my macbookFabian Schmidt2024-07-23 13:23:26 +0200
fe1053b74aMulti threaded works now but it's slower than single threaded...Fabian Schmidt2024-07-23 13:23:26 +0200
3ffed9099cStill broken but it compiles. For some reason lines are not properly being read and only one thread is being runFabian Schmidt2024-07-23 13:23:26 +0200
65df621cf6use hashbrown instead of std hashmap, no performance improvementsFabian Schmidt2024-07-23 13:23:26 +0200