<div dir="ltr">It would be valuable to target a general-purpose package, if only because the existing Python zstd bindings (somewhere on github) are not good.<div><br></div><div>You're right that zstd is a big win over zlib in every way.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 1, 2016 at 12:01 AM, Gregory Szorc <span dir="ltr"><<a href="mailto:gregory.szorc@gmail.com" target="_blank">gregory.szorc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div></div>I got caught up in the zstd 1.0 release excitement and started writing a proper Python C extension for it (one that uses the streaming API and doesn't use custom framing like the existing python-zstd package does). The result of what I was able to hack together in a few hours is available at <a href="https://hg.mozilla.org/users/gszorc_mozilla.com/hg/rev/zstd" target="_blank">https://hg.mozilla.org/users/<wbr>gszorc_mozilla.com/hg/rev/zstd</a> (see the p1 changeset for the C code).<br><br>It compiles, but that's about it. The compress API basically no-ops (I need to plug in iterator foo). The decompress API segfaults and the API needs refined. It's also my first time writing a Python C extension, so I'm sure I'm doing several things wrong. And I know the style doesn't match Mercurial conventions. I'm not sure if I should strive for tailoring this to Mercurial's usage or try to release it as a standalone package...<br><br></div><div>If anyone wants to take the code and run with it, go for it. I can stamp another license on the code if someone asks.<br><br></div><div>I'd also like to invite a larger discussion around supporting zstd in the official Mercurial distribution. It seems like an all-around better compression format than zlib and supporting zstd seems like a relatively easy way to gain significant performance and size efficiency wins on many operations.<br></div></div>
<br>______________________________<wbr>_________________<br>
Mercurial-devel mailing list<br>
<a href="mailto:Mercurial-devel@mercurial-scm.org">Mercurial-devel@mercurial-scm.<wbr>org</a><br>
<a href="https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel" rel="noreferrer" target="_blank">https://www.mercurial-scm.org/<wbr>mailman/listinfo/mercurial-<wbr>devel</a><br>
<br></blockquote></div><br></div>