SynLZO

The SynLZO unit implements Synopse LZO Compression:

  • it's an upgraded and fully rewritten version of our MyLZO unit;
  • SynLZO is a very FAST portable loss-less data compression library written in optimized pascal code for Delphi 3 up to Delphi XE with a tuned asm version available;
  • offers *extremely* fast compression and decompression with good compression rate, in comparaison with its speed;
  • original LZO written in ANSI C - pascal+asm conversion by A.Bouchez;
  • simple but very fast direct file compression: SynLZO compressed files read/write is faster than copying plain files!

SynLZ

The SynLZ unit implements Synopse LZO Compression:

  •  SynLZ is a very FAST lossless data compression library written in optimized pascal code for Delphi 3 up to Delphi XE with a tuned asm version available;
  •  symmetrical compression and decompression speed (which is very rare above all other compression algorithms in the wild);
  •  good compression rate (same range than LZO);
  •  fastest average compression speed (ideal for xml/text communication, e.g.) - LZO is faster on decompression, but slower on compression.

Even if SynLZO is a pascal conversion of the LZO algorithm, the SynLZ unit implements a new compression algorithm with the following features:

  •  hashing+dictionary compression in one pass, with no Huffman table;
  •  optimized 32bits control word, embedded in the data stream;
  •  in-memory compression (the dictionary is the input stream itself);
  •  compression and decompression have the same speed (both use hashing);
  •  thread safe and loss-less algorithm;
  •  supports overlapping compression and in-place decompression;
  •  code size for compression/decompression functions is smaller than LZO's.

SynLZ is used e.g. as the default compression algorithm for our ORM framework for Client - Server communication, resulting in very good response time and bandwidth usage, especially with JSON content.

Continue reading

See the corresponding forum post for details and comments