util: drop write_content_size=True
authorGregory Szorc <gregory.szorc@gmail.com>
Mon, 09 Apr 2018 10:18:10 -0700
changeset 37496 1765ed63db40
parent 37495 b1fb341d8a61
child 37497 1541e1a8e87d
util: drop write_content_size=True This is now the default in python-zstandard 0.9. While we're here, also add a comment about the ability to drop frame magic to save space. Differential Revision: https://phab.mercurial-scm.org/D3199
mercurial/util.py
--- a/mercurial/util.py	Mon Apr 09 10:13:29 2018 -0700
+++ b/mercurial/util.py	Mon Apr 09 10:18:10 2018 -0700
@@ -3566,11 +3566,11 @@
 
     class zstdrevlogcompressor(object):
         def __init__(self, zstd, level=3):
-            # Writing the content size adds a few bytes to the output. However,
-            # it allows decompression to be more optimal since we can
-            # pre-allocate a buffer to hold the result.
-            self._cctx = zstd.ZstdCompressor(level=level,
-                                             write_content_size=True)
+            # TODO consider omitting frame magic to save 4 bytes.
+            # This writes content sizes into the frame header. That is
+            # extra storage. But it allows a correct size memory allocation
+            # to hold the result.
+            self._cctx = zstd.ZstdCompressor(level=level)
             self._dctx = zstd.ZstdDecompressor()
             self._compinsize = zstd.COMPRESSION_RECOMMENDED_INPUT_SIZE
             self._decompinsize = zstd.DECOMPRESSION_RECOMMENDED_INPUT_SIZE