GitHub 热门项目:openzl

摘要

GitHub项目:openzl 仓库地址:https://github。

the and OpenZL for with
2026-05-24 1 阅读 GitHub Trending
GitHub 项目:openzl 仓库地址:https://github.com/facebook/openzl 星级:3075 | 作者:脸书 项目描述:一种新颖的数据压缩框架 =================================================== 自述文件内容: # OpenZL OpenZL 提供高压缩比,同时保持高速,这是通用压缩机无法达到的性能水平。 **查看[博客文章](https://engineering.fb.com/2025/10/06/developer-tools/openzl-open-source-format-aware-compression-framework/)和[白皮书](https://arxiv.org/abs/2510.03203)了解其工作原理的详细信息。** OpenZL 获取您的数据描述,并从中构建针对您的特定格式进行优化的专用压缩器。 [了解它是如何工作的 →](https://facebook.github.io/openzl/getting-started/introduction/) OpenZL 由一个核心库和生成专用压缩器的工具组成 - 所有这些都与一个通用解压缩器兼容。 它专为处理大量专业数据集(例如人工智能工作负载)并需要高速处理管道的工程师而设计。 请参阅我们的[文档](https://facebook.github.io/openzl) 了解更多信息,并参阅我们的[快速入门指南](https://facebook.github.io/openzl/getting-started/quick-start) 以开始使用指导教程。 ## 项目状态 该项目正在积极开发中。随着项目的成熟,OpenZL 中包含的 API、压缩格式以及编解码器和图形集都可能(并且将会!)发生变化。 然而,面对这种演变,我们打算维持一些稳定性保证。特别是,至少在未来几年内,使用该库的任何版本标记版本压缩的有效负载将仍然可以通过该库的新版本进行解压缩。该库的新版本将能够生成至少与先前版本兼容的框架。 (“dev”分支上的提交不提供任何保证。对于任何非实验性部署,仅使用发布标记的提交。) 尽管有上面的可怕警告,我们认为核心已经达到生产准备状态,并且 OpenZL 在 Meta 的生产中被广泛使用。 ## 构建 OpenZL ### 先决条件 OpenZL 需要支持 C11 和 C++17 的编译器。使用“cmake”构建时,需要“cmake 3.20.2”或更高版本。目前正在努力放宽这些限制。当这种情况发生时,本节将被更新。 ### 使用 `make` 构建 OpenZL 库和基本工具可以使用“make”构建: ````嘘 使 ```` #### 构建选项 `Makefile` 支持所有标准构建变量,例如 `CC`、`CFLAGS`、`CPPFLAGS`、`LDFLAGS`、`LDLIBS` 等。 它默认使用多线程构建,自动检测本地核心数量,并且可以使用标准“-j#”标志(例如:“make -j8”)覆盖。 #### 构建类型 可以通过显式请求构建类型来更改二进制生成: 示例: ````嘘 使 lib BUILD_TYPE=DEV ```` 构建类型记录在“make help”中,它们的确切标志在“make show-config”中详细说明。 常见的有: * `BUILD_TYPE=DEV`:启用断言并启用 ASAN / UBSAN 的调试构建 * `BUILD_TYPE=OPT`:使用断言 d 优化构建