Native support for lz4?

Gregory Szorc gregory.szorc at gmail.com
Fri Aug 5 17:48:03 UTC 2016


Facebook introduced an lz4revlog extension a while ago. I think lz4 has
some compelling performance advantages over zlib for revlog storage and
wire protocol compression.

I'd like to start a discussion about bundling the lz4 C implementation as
part of the Mercurial distribution and supporting lz4 for revlogs and wire
protocol compression out of the box.

I'm not proposing requiring lz4 or making lz4 the default. I mostly care
about making lz4 accessible to more users. (The 3rd party lz4revlog
extension is difficult to use because you need a separate Python package
providing lz4 support. Plus, lz4revlog isn't using the proper lz4 framing
encoding and I'm hesitant to recommend its use because of this.)

I'd also entertain scope bloating the conversation to including other
compression formats. Once you support 2, you need to support N, right? I've
been taking an interest in zstd and I'd be curious if Facebook, others have
any plans to add support to Mercurial.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20160805/d895243d/attachment.html>


More information about the Mercurial-devel mailing list