Zstandard reaches Final Compression Format

综合编程 2016-06-17 阅读原文

Finally. That was a pretty long journey.

With the release of v0.7, Zstandard
has reached an important milestone where the compression format is stable and complete enough to pretend becoming v1.0.

We don't call it v1.0 yet, because it's safer to spend some time on a "confirmation period" during which the final compression format is field-tested. It shall confirm its ability to match its objectives, dealing with all situations it is planned for.

Then
it will be rebranded v1.0.

With the source code
out, it's also time to think about other supportive actions, such as documentation. The next priority task is to redact a specification of the compression format, so that it can be better exposed, understood and implemented by third parties. The goal is that any third party should be able to create its own version. However, describing algorithm in a way which is clear and concise is not trivial. It's expected that some paragraphs will need re-write in an effort to become clearer and more complete, reducing sources of confusion. So this effort will benefit from user exposure and feedback

It's also time to have some more involved discussions around the API.

The current "stable API" is expected to remain, but its scope is also limited, providing mostly the "basics", such as compressing a buffer into another buffer. More complex usages are possible (streaming in memory-constrained environment using a custom allocator for example), but need to access advanced prototypes, exposed in the "experimental" section.

Now will be a good time to seriously consider extending the scope of "stable API".

Just "promoting" a prototype from "experimental" to "stable" is not necessarily the better way to go. It's important that the extended API remain simple enough to understand and use (which is not the main priority of "experimental" section).

After being immersed in the code for so long, some technical complexities can become invisible, while becoming real obstacles to newcomers. Therefore, it's important to "think" extended API properly, to create interfaces easy to use.

For this objective, the key is to listen 3rd parties, in order to better fit natural expectations.

责编内容by:RealTime Data Compression 【阅读原文】。感谢您的支持!

您可能感兴趣的

那些被编程耽误的语言大师,思想、代码全能一语道破... 大部分的编程语言之父都是被编程耽误的语言大师。他们的编程言论思想深邃精辟,也相当风趣。 程序员小伙伴们总能从他们的言论中得到启发,借鉴他们的经验,对编程生涯大...
The Marvelous Misadventures Of My Career: Ep.1: Gh... There reached a point in my career when I was at work but I had no work. Litera...
Hello codebar Sydney! While I lived in the UK, I co-organised codebar in Brighton. Codebar is a ...
On books I’d say that if there’s one easy way to summarise how I work, it’s as an informa...
ZINC以及partial apply 2016-09-22 最早是带着疑惑:ML语言里面的partial apply是如何实现的?比如,scheme语言里面 (define (add x...