/[Apache-SVN]
ViewVC logotype

Revision 1805897


Jump to revision: Previous Next
Author: kotkov
Date: Wed Aug 23 14:16:15 2017 UTC (6 years, 7 months ago)
Changed paths: 1
Log Message:
fsfs: Make LZ4 the new default compression algorithm for all (new and
upgraded) format 8 repositories.

Using a faster compression algorithm results in a visible performance
improvement for both read and write operations.  This is a trade-off, as
the compression ratio of the on disk data will be lower than with the
previously used zlib-5, and the projected size of the repositories will
increase accordingly.  However, the actual reduction in the compression
ratio can be considered an acceptable price for the gained benefits.

Here are some of the zlib-5 vs LZ4 compression benchmarks over file://
protocol on an SSD disk:

  - One compressible file, 1.17 GB:

    Import time:  40.79 s  →  11.97 s   (3.4 x faster)
    Export time:  6.30 s  →  3.13 s   (2.0 x faster)
    Compression ratio:  31.8 %  →  43.8%   (384 MB → 529 MB on disk)

  - One incompressible file, 833 MB:

    Import time:  32.16 s  →  8.22 s   (3.9 x faster)
    Export time:  2.71 s  →  2.06 s   (1.3 x faster)
    Compression ratio:  91.9 %  →  93.3%   (766 MB → 778 MB on disk)

  - Multiple source code files (TortoiseSVN trunk), 213 MB, ~7,000 files:

    Import time:  17.83 s  →  10.36 s   (1.7 x faster)
    Export time:  1.62 s  →  1.15 s   (1.4 x faster)
    Compression ratio:  35.2 %  →  48.8 %   (75 MB → 104 MB on disk)

  - Multiple binary files, 1.68 GB, 25 files:

    Import time:  55.10 s  →  15.84 s   (3.5 x faster)
    Export time:  8.56 s  →  4.34 s   (2.0 x faster)
    Compression ratio:  38.4 %  →  46.9 %   (662 MB → 807 MB on disk)

The related discussion is in:
https://lists.apache.org/thread.html/b0ceb1a021b4adf795bf853f0634b09c2922b9ca3e26af18c7d3b7ee@%3Cdev.subversion.apache.org%3E

* subversion/libsvn_fs_fs/fs_fs.c
  (read_config): Default to LZ4 for format 8 repositories.
  (write_config): Mention the new default in the fsfs.conf template.


Changed paths

Path Details
Directorysubversion/trunk/subversion/libsvn_fs_fs/fs_fs.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26