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.