Re: undelete?

Tim Bird (
Mon, 28 Jul 1997 13:25:46 -0600 (MDT)

> > Now, solve this one, you open the file read/write and you start changing
> > the file in random places. Since even changing one byte will change the
> > compression dynamics you end up re-compressing/re-writing everything
> > following the position at the write(), block compression or no... I
> > challenge you to code that efficiently.
> My experience with computers indicates, that most activity comes in
> bursts, we therefor should not try to compress on the fly when the CPU
> has better things to do [unless it reduces IO and that's the current
> bottleneck]. We should rather store the uncompressed data and
> compress it later when we're in need of disk-space or have nothing
> better to do. [...]

This is how NetWare does it and it works quite well. It is very nice
to have the compression and decompression performance requirements
decoupled. NetWare implements an asymetric algorithm that sacrifices
compression speed (which is done at off-peak periods) in exchange
for blazing decompression speeds. In this regard, NetWare actually
gets a double win. Compressed files not only take less space on
disk, but are served faster from the file system than uncompressed
files (because the decompression is so fast, and less disk blocks
are read.)

Tim Bird