Xref: utzoo comp.lang.c:22278 comp.sources.wanted:8850 comp.sys.ibm.pc:35352
Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!mcsun!hp4nl!star.cs.vu.nl!condict
From: condict@cs.vu.nl (Michael Condict)
Newsgroups: comp.lang.c,comp.sources.wanted,comp.sys.ibm.pc
Subject: Re: Wanted : Disk to Memory Compression Source
Message-ID: <3386@sater.cs.vu.nl>
Date: 27 Sep 89 08:25:02 GMT
References: <2830NU115247@NDSUVM1>
Reply-To: condict@cs.vu.nl (Michael Condict)
Organization: VU Informatica, Amsterdam
Lines: 20

The compress/uncompress/zcat utility of BSD Unix (and Sun OS) is probably
what you want.  It is based on Lempel-Ziv and was originally written by my
friend Joe Orost.  It is freely distributable, if not completely public
domain.  You needn't worry too much that it is organized as a main program
instead of a function -- I have found that it is so fast in uncompressing
data from a file to memory that if you use popen("zcat file", "r"), you will
often be able to read in a compressed file with less CPU time and less real
time than the equivalent uncompressed file.  (This is based on measurements
for files that were compressed by a factor of 4-to-1 or greater.)  It happens
because the system overhead of reading a file four times larger is greater
than the cost of the uncompression algorithm.

You can get the source for the utility from any BSD source tape, from a USENET
archive or, probably, directly from Joe Orost: vax135!petsd!joe.

Michael Condict		condict@cs.vu.nl
Vrije University
Amsterdam

P.S. Hi, Joe.  I moved from Murray Hill to Vrije U. in September.