Hacker Newsnew | past | comments | ask | show | jobs | submit | kosolam's commentslogin

Impressive compression benchmark. Four times smaller than z standard.

I have not experimented with bzip3 recently, but more than a year ago I have done many tests with it.

Initially I was extremely impressed with it, because in a lot of tests it succeeded to compress hard-to-compress files, like movies, and in many cases it demonstrated a much better compromise between speed and compression ratio than zstd, i.e. depending on the command parameters I could make it either compress better than zstd at similar compression/decompression speed, or compress/decompress faster at a similar compression ratio.

Alas, the initial extremely favorable conclusion was short-lived, because trying later bzip3 on other data files gave worse results than zstd.

So the final conclusion was that the performance of bzip3 was somewhat unpredictable, being highly data dependent. For some files it provided outstanding compression ratio or speed, but for others it was inferior.

The problem was that without doing a compression there was no way to guess whether a file would be among those preferred by bzip3 or by zstd or by xz.

So now I would use it only for a file for which I want maximum compression and which I would compress once and decompress many times, so I can afford a very long compression time, during which I would test multiple compression algorithms, including bzip3 and zstd, with multiple parameter choices, and I would eventually choose the one that offers the best compromise between compression ratio and decompression time, for that particular file.

It certainly is a competitive compression algorithm, but unless it has changed since I last tested it, you cannot guess for which files it would win the compression competition.


Would a multi-stream archive format make sense at this point? I.e. store several compressed streams in the same file and use heuristics to decide where each file (or portion of file) goes.

I think so.

But developing the heuristics for choosing the appropriate compression algorithm for a stream of data is likely to need a very long time for compression tests of a lot of diverse training data, similarly to the training of a specialized ML model that classifies patterns.

Such heuristics should provide not only algorithm selection, but also parameter selection, when given only some simple input, e.g. the relative importances of compression ratio, decompression speed and compression speed.


The benchmark is very rudimentary. It does not test different levels/settings apart from its own -b 256/512 (does it affect decompression?), it doesn't measure compression time and memory usage. It does not specify parallel vs single-threaded (it mentions parallel on the one decoding number but what about the others?).

The lrzip test is interesting but it omits for example zstd and doesn't even have (de-)compression timings.

A lot more numbers are needed to present a fair and informative comparison.

I don't want this to be a swipe against bzip3, I only want to point out the presented benchmarks could be a lot better.


with zstd at level 16 with default params (dict size, ...). Serious compression starts at level 19 and with much higher dict sizes.

how is this an honest benchmark:

    bzip3 ... 12178M memory
    zstd  ...   687M memory

There is a comparison with "zstd -19" on the Silesia corpus, showing better compression ratio for bzip3 (47.2 vs 53MB) while being ~5 times faster (and using only half the memory).

Even if the examples are highly cherry-picked, it is quite suprising to me that such pareto-dominance is possible at all.

edit: Tested it myself and found that it often also does slightly worse than zstd -19 in compression ratio but faster (it was slower in one case on "uncompressible" input).

Compression performance vs "zstd -19" seems to depends a lot on actual input data in a very unpredictable way. I'd assume the benchmarks that they show are definitely somewhat cherry-picked.


having used zstd, it has terrible defaults, optimized for speed and low-memory. You need to change it's params (not just level and dict size) to get high performance.

probably somebody should use a coding agent to do auto-research to optimize params for each compression algo, while matching one fixed goal - time, memory or size


Unfortunately, I just canceled my max account.

Unfortunately, for them.


Only reason people are interested is it’s free at the moment. I wasn’t impressed by its performance. Once the model gets a price tag it’s usage will be negligible.


It doesn’t rival deepseek v4 flash, and of course not deepseek v4 pro. This is my own impression.


The price is free for some of us, we can run it at home.


How much did you spend on hardware and electricity to run your free models


I have many rigs, but let's take 1 for example. 160gb. $1000 that's what it cost. 10 16gb MI50 gpus from ebay at $90. $900. Plugged them into an $100 octominer case from Facebook marketplace. I'm sure that doesn't satisfy you, keep coming up with excuses instead of finding ways to make this happen for you. You either find a way to get in and play or you sit on the sideline and moan about those in the field.

Look, it's kind of like that 1982 HydraTech 16ft bass boat with a pearl glitter paint job thats on Craigslist. When the wife asks, you low balled it and they accepted - an offer too good to refuse.

You used it for visual tasks, right?


Does it mean that subscriptions get more tokens? I’m testing it now for coding instead of claude and it’s very important to understand if I get more due to the price reduction.


Can you share some highlights of what it can do? (I’m just asking the agent to review the pr usually)


What do you mean please give more information.


״I am not sure this laptop has a fan anymore. Except me״ huh nice one


Lol


But codex is opensource, no?


Looks like here lua vm is used as the basis for the project itself not as the language u write your builds with


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: