Lists Home |
Date Index |
Michael Champion wrote:
> compression is a way people TRY to improve latency,
> but it seldom works well except for the hardware-based
> streaming compression built into modems, etc.
One big problem is that people often implement compression
improperly. For instance, even when they are using a stream
compression scheme, what they will do is buffer until they have
received all of the compressed data and then they will do the
decompression in a single operation. The result is both higher memory
useage and increased latency. Not good.
In fact, using a stream compression algorithm in "batch mode"
can often result in lower compression than if you had chosen a
compression algorithm which is optimized for "batch mode."
The "correct" way to do things, for many applications, is to
decompress the stream as it dribbles through your sockets. However,
since this takes a bit more care in coding, requires more bookeeping,
etc. Coders often don't do it right even if they know that they are
making a mistake. Often, I've seen people say: "I did it this way to
make it work and I'll go back and fix it later..." But, they never do.