Compression

Certain data types, such as text documents, may transfer faster if the data is compressed while in transit.  ExpeDat can apply ZLIB compression to transferring files, which typically reduces the size of compressible data types to about one-third of their original size.

Checking the compression checkbox will enable content compression for individual file transfers.  The data will be compressed while in transit and automatically decompressed on the other side.

Compression is not available for Streaming Folders or Object Handlers.

Compression should only be used on files known to contain compressible data, such as text documents.  For these data types, compression may increase transfer speeds by three times or more, on top of MTP's throughput gains.

ExpeDat uses the same compression algorithm as Zip and Gzip.  Data which compresses well using those utilities will also compress well with ExpeDat.

Compression is very CPU intensive.  Data files which are already compressed, encoded, or encrypted, will not benefit from compression.  If the server or client is CPU limited, enabling compression may severely reduce performance.  If you are on a very fast network, even compressible data may move faster without compression due to the CPU overhead of compressing it.  See Tech Note 0014 for tips on deciding when to enable compression.

The best way to tell whether a given file type will benefit from compression when transferring to a particular server is to experiment with the setting both on and off to see which is faster.

Compression is also uses extra memory, as network data must be buffered for the compression engine.  If your network is very fast and your latency is very high, then you may need to increase the size of the compression buffer.  The buffer should be at least twice the bandwidth-delay-product of your network path.  (Multiply the path bandwidth in bits-per second by the latency in milliseconds, then divide by 4194304000.  The result is the number of megabytes recommended.)  The default value of 16 is adequate up to a gigabit network with 75ms latency, or a 100 megabit network with 750ms latency.

The compression buffer setting only affects buffers used by the ExpeDat Desktop client.  If you find it necessary to increase this value, you should increase the server StreamSize as well.

Server administrators may choose to disable compression using the NoCompression option.

Since compression changes the amount and timing of data being sent, the progress bar may be disabled or inaccurate while using compression.