File Compression

File compression is another factor to consider in system performance, and the AGS_SOCKET_COMPRESS variable can help address this issue. If the speed of your computer is much higher than the speed of the network, the "ZLIB" setting for this variable may work well for you. However, if the latency caused by compression time is higher than the latency in the network, you may not gain much. RUNLENGTH compression is faster, but much less is compressed.

As an example, suppose you need to send 10000 bytes over a network that can transfer 1000 bytes per second. With no compression, the data can be sent in 10 seconds. If ZLIB compression can compress that 10000 bytes to 1000 bytes in 20 seconds, the total time for this operation is 21 seconds (20 seconds to compress plus 1 to send). In this case, no compression is the better option. However, if ZLIB can compress that 10000 bytes to 2000 bytes in 2 seconds, the total time with ZLIB is 4 seconds (2 seconds to compress plus 2 to send). In this situation, the compression option is the better choice.

Note that Windows supports ZLIB compression, but not all UNIX machines do. If ZLIB compression is not supported on a particular machine, a variable value of "ZLIB" will be ignored.