fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

First results of my algorithm benchmark run on a 72MB CSV file. It seems really has something for everybody, though it can't reach 's insane (but slow) compression ratios at maximum settings.

This chart includes multithreaded runs for .

Very interesting! 🧐

gitlab.com/nobodyinperson/comp

Single-threaded doesn't really change the picture all that much.

Yann Büchau :nixos:

⏱️ Compression vs Decompression speed. Interesting that has some settings that actually decompress slower than they compress. Might just be my machine, though... is still a turtle 🐢, is not much better, decompresses much faster than is compressed, again has something for everybody.

Interestingly, at low compress levels actually compresses better than with lower RAM usage!

First let's look only at the non-fancy options (no --fast or multithreading) and make log-log plots to better see what's happening in the 'clumps' of points. Points of interest for me:

- has a *really* low memory footprint across all compression levels
- clearly wins the decompression speed/compression ratio compromise!
- at higher levels is unrivalled in compression ratio
- higher levels aren't worth it. is also just fast.

Repeated the with the same file on a beefier machine (AMD Ryzen 9 5950X), results are quite identical, except faster overall.

This plot is also interesting:

- and have fixed (!) and very low RAM usage across levels and compression/decompression
- RAM usage scales with the level from a couple of MBs (0) to nearly a GB (9)
- RAM usage scales weirdly with level but not as extreme as

My conclusion after all this is that I'll probably use level 1 (not the default level 3!) for of my measurement data from now on:

- ultra fast compression and decompression, on par with
- nearly as good a compression ratio as level 9
- negligible RAM usage

When I need ultra small files though, e.g. for transfer over a slow connection, I'll keep using level 9.