The holidays are around the corner and so I have a little crat...eh..._gift_ for you my lil' crabbies.🀭 πŸ¦€

So here's the plan:
Until December 23rd, I'll post some performance progress I've made over the last months in this thread until we can finally unwrap() the gift together, Ok()?

Mhh...I can already smell the oxidized metal...🀀

:rust:

Commit e96349f

Yeah...there were times, were I _really_ struggled...

Commit 9d1d7ae

Hell yeah! More than twice as fast! And we are now talking milliseconds, not seconds anymore.
But this is Rust - can we get even faster?
Wait until tomorrow...😏

nighty night πŸ‘‹

Commit 150b7c8

...and we keep improving!
Now down to ~700ms. That's another 12% faster!

Hm...might we even be able to...

Unfortunately, I can't release this as planned.πŸ˜₯
I'm so sorry, but I found a very weird (concurrency!) bug and I don't want to ship it with this bug in it. Real life of a developer, I guess...😞

(I found this bug writing and executing a specific doc test...What!?)

I'm so disappointed right now.😭

I'll look into it after xmas and keep you updated.

I wish you some happy holidays! πŸŽ…

@musicmatze @guenther

Yay, I fixed the bug!πŸŽ‰
It wasn't a concurrency bug in the traditional sense (it's after all Β―\_(ツ)_/Β―), but rather a code path that was sometimes executed and sometimes not, depending on whether the other thread had a chance to run or not.

New plan: release this within 2021 (as alpha)!😁 🀞

@musicmatze @guenther

Commit 487efd1

Where did we leave off? Oh, right...might we even be able to...

...CROSS THE 500ms mark!?😱

😏

Next toot will be the official release. Stay tuned.πŸ˜‰

Follow

Introducing csv-diff - the fastest CSV-diffing library in the world - written in !πŸš€ πŸŽ‰

Highlights:
- compare two CSVs with 1,000,000 rows x 9 columns in under 500ms
- thread-pool agnostic 🧡🧢

Crates.io:
crates.io/crates/csv-diff

GitLab:
gitlab.com/janriemer/csv-diff

This crate has been made possible by the awesome Rust community! Thank you!🀝 ❀️

Β· Β· Web Β· 1 Β· 2 Β· 2

Commit 48e91bc

Oops, turns out you can now diff 1 million rows of in only 400ms.πŸš€

All I had to do was to use ahash::AHashMap instead of std HashMap. Β―\_(ツ)_/Β―

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!