diff mercurial/configitems.py @ 42046:4ee906aa7b60

compression: introduce an official `format.revlog-compression` option This option supersedes the `experiment.format.compression` option. The value currently supported are zlib (default) and zstd (if Mercurial was compiled with zstd support). The option gained an explicit reference to `revlog` since this is the target usage here. Different storage methods might require different compression strategies. In our tests, using zstd give a significant CPU usage improvement (both compression and decompressing) while keeping similar repository size. Zstd as other interresting mode (dictionnary, pre-text, etc?) that are probably worth exploring. However, just plain switching from zlib to zstd provide a large benefit.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 27 Mar 2019 18:26:54 +0100
parents bb271ec2fbfb
children 0e41f40b01cc
line wrap: on
line diff
--- a/mercurial/configitems.py	Tue Apr 02 11:03:46 2019 -0700
+++ b/mercurial/configitems.py	Wed Mar 27 18:26:54 2019 +0100
@@ -553,9 +553,6 @@
 coreconfigitem('experimental', 'extendedheader.similarity',
     default=False,
 )
-coreconfigitem('experimental', 'format.compression',
-    default='zlib',
-)
 coreconfigitem('experimental', 'graphshorten',
     default=False,
 )
@@ -684,6 +681,10 @@
 coreconfigitem('format', 'sparse-revlog',
     default=True,
 )
+coreconfigitem('format', 'revlog-compression',
+    default='zlib',
+    alias=[('experimental', 'format.compression')]
+)
 coreconfigitem('format', 'usefncache',
     default=True,
 )