Googles appar
Huvudmeny

Post a Comment On: cbloom rants

"03-12-12 - Comparing Compressors"

10 Comments -

1 – 10 of 10
Anonymous Anonymous said...

"It's kind of ironic that some of the most pervasive code in the world is not particularly great"

The real problem is that is has no competition.
What other open source algorithms in the same field?
First is Tornado. Quite good actually...but only for big chunks of data. And undocumented. And with interface that's clearly designed for file to file or memory to file compression. And x86 only. And being version 0.5, not used by anything but FreeArc, many people won't trust that it's reliable. An option, but clearly not something that could replace zlib.
The second option would be....well...Deflate64 from 7-zip. A nice, modern codec that's oh so different from Deflate....
The 3rd option?
I don't see any.
Well, maybe alternative Deflate implementations, but zlib is very portable, very reliable and very widely known and they can't offer that much better efficiency.

So until you open source your rrlzh and lzhlw, zlib will keep being the best option for many uses.

March 13, 2012 at 11:40 AM

Blogger cbloom said...

Yeah, I know, I'm as much to blame as anyone. But even aside from the issue of the format, it's weird that there isn't a fast zlib decoder.

The problem is that the people who develop compression algorithms can't be bothered to make a clean open source public domain version.

I always hoped that some group of us could come together and make a new standard, and then someone else would actually do all the work of making it work on GCC and big endian and so on.

But it turns out that when people write open source code, they prefer to invent their own stuff, even though they aren't particularly expert in the topic, so you wind up with yet another open source format that's not particularly good (eg. snappy).

Others like FreeArc and 7zip and LZO are just way too big and complex; what you really want is an STB-style single header, at least for the decoder.

March 13, 2012 at 12:40 PM

Blogger Steve Worley said...

I totally agree with the rough state of compression libraries. There's tons of theory, lots and lots of (interesting!) experiments (especially at encode.ru) but simple, API friendly, clean implementations that are superior enough to zlib to make them worthwhile? Not many.

I found you from LZP research, since I was looking for different compromises between speed and compression (for my own encoding experiments).

One interesting point: even Oodle, a commercial library, isn't advertised or even listed by RAD. I had to search a lot to find even a reference to it on their site, in a Granny3D changelog! If it's really a general purpose library, they (er, probably meaning you...) should post a whitepaper overview/analysis of it for their site.

March 13, 2012 at 1:30 PM

Blogger ryg said...

RAD isn't advertising Oodle yet because it's not actually released yet, except for the aforementioned bit in Granny :)

March 13, 2012 at 2:26 PM

Blogger Cyan said...

I plan to open-source Zhuff (an LZH derivative) at some point, under a source code format & interface pretty close to LZ4. The real issue is ... time.

Even a simple codec such as LZ4 already requires quite some support. That being said, it's a huge and useful experience, that will greatly benefit to future developments.

March 14, 2012 at 9:20 AM

Anonymous Anonymous said...

@cbloom:
miniLZO is neither big nor hard to use, yet it offers what 99% of LZO users need. It takes 4 files, but that's hardly a show stopper.
With stronger codecs things are worse....though I'm not damning people for this. Being disappointed with the state of FOSS LZH algos I contemplated writing my own (well, I still do). But it would too be designed to fit my needs, no more, no less. Yet another one-use compressor w/out ambition to be better than zlib for an average compression user.
@Yann:
I'm very interested. Could you share 1 more detail though? What license do you intend to use?
BTW is it time for a support forum already?

March 14, 2012 at 1:02 PM

Blogger Cyan said...

BSD license is the target, although the codec may start its life as L-GPL.

I have not thought of a support forum yet.
It seems much too soon to talk about the open source version, but there is already a page to post comment on the current win32 binary version.

It's linked from Zhuff Homepage : http://fastcompression.blogspot.com/p/zhuff.html

March 14, 2012 at 9:45 PM

Anonymous Anonymous said...

I meant support forum for LZ4 and ZHuff at later time.

And BSD is a great news, thanks.

March 15, 2012 at 10:42 AM

Blogger Cyan said...

LZ4 support forum is this : http://groups.google.com/group/lz4c

March 15, 2012 at 11:09 AM

Anonymous Anonymous said...

Oh...google...after all it's not surprising.

Thanks for the info, but it's not for me.

March 15, 2012 at 12:27 PM

You can use some HTML tags, such as <b>, <i>, <a>

This blog does not allow anonymous comments.

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.