(Yet Another) Deflate Decompression Implementation in CL

| 2 TrackBacks

I have finally gotten around to separating out and cleaning up the Deflate (RFC 1951) decompression routines we have been using in-house for quite some time, and released them under an X-style free license (see links below), for those who need something with a less restrictive license or better performance than is currently freely available1.

The library supports decompression of pure deflate streams, zlib-style (RFC 1950) and gzip-style (RFC 1952) streams, including optional checksum checking. The code should be fully portable across all conforming ANSI Common Lisp implementations, and has been performance tuned for SBCL and CMU CL, and somewhat for Lispworks (CRC-32 checksum code). While the performance does not reach the level of zlib/gzip (by a factor of around 3 to 3.52 on my most recent tests with SBCL), mostly due to stream I/O overhead and a not very sophisticated huffman decoder, it is eminently usable.

Support for compression and ZIP-file handling are currently not included.

Enjoy.

Links


  1. Since publishing this entry, I’ve been made aware of Chipz from Nathan Froyd, which achieves comparable levels of performance and is as free as Deflate; see my newer blog entry for more information.

  2. It seems that on larger files the factor is actually nearer to 1.25-1.5, see this entry for details.

2 TrackBacks

TrackBack URL: http://mt.pierre-mai.de/mt/mt-tb.cgi/21

Deflate: And then there is Chipz from Pierre R. Mai's Miscellany on June 5, 2009 1:00 AM

So it seems the best way of finding out about lisp packages is releasing a similar package yourself ;): Right on the foot of releasing Deflate, I get to notice Chipz, a similar, but more capable package by Nathan Froyd,... Read More

Deflate 1.0.1 released from Pierre R. Mai's Miscellany on October 11, 2010 11:26 PM

A new minor release of Deflate is available, which only contains two changes from 1.0.0: Due to popular demand, the Deflate system is now called "deflate" instead of "Deflate", thus allowing (require :deflate) or (asdf:oos ‘asdf:load-op :deflate)... Read More

About this Entry

This page contains a single entry by Pierre R. Mai published on June 3, 2009 9:41 PM.

Casablanca and American Civic Culture was the previous entry in this blog.

Deflate: And then there is Chipz is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

Recent Assets

  • Picture of PRM

Recent Activity

2011-02-17

  • Pierre tweeted, "Service-oriented Architecture (n.): What you do if you have no idea what service is, nor the any notion what software architecture is about."

2010-12-03

  • Pierre tweeted, "Again on the runway waiting for snow-delayed take-off. Quite the lifestyle..."

2010-11-29

  • Pierre tweeted, "The Future(tm): Uploading software releases and submitting policy input to the EU from a plane waiting 1h at the airport for its de-icing ,)"

2010-10-28

  • Pierre tweeted, "Achieved unbelievable win against Siedle, Siemens by connecting front gate intercom to PBX. Sad about the complexity involved though..."

2010-09-20

  • Pierre tweeted, "RT @jwz: Visual Transistor-level Simulation of the 6502 - in Javascript. http://j.mp/bWHK5F"

2010-09-17

  • Pierre tweeted, "Thanks to @mikeysan I'm playing with say -v "Cellos" on my Mac instead of configuring FreeBSD servers... say -v "Cellos" 'Thanks, mikeysan!'"

2010-08-04

  • Pierre tweeted, "Resurrecting my old Apple //e (yet again) lead to switching power-supply debugging (shorted rectifier dual diode) and soldering fun."

2010-07-25

  • Pierre tweeted, "Star Trek/iPad nostalgia/futurology cross-over: Reading the ST:TNG Technical Manual on the iPad, downloaded directly from subspace..."

2010-06-23

2010-06-02

  • Pierre tweeted, "RT @HansHuebner: U.v.d.Leyen als Bundespräsidentin? Ist das Amt nicht schon beschädigt genug?"