Go 并行压缩和解压缩库
Golang API 用于以编程方式生成和读取标准 GZIP 文件。通过将大文件拆分为块并并行执行压缩/解压缩来压缩大文件。
pgzip 入门
pgzip的推荐安装方式来自GitHub,请使用以下命令顺利安装。
通过命令安装 pgzip
go get github.com/klauspost/pgzip/...
通过 Go API 压缩大文件
开源 pgzip 库包含使用几行 Go 代码压缩大量数据文件的功能。 API 支持将大文件分割成小部分(默认块大小为 1MB),最多可处理 CPU 线程数。您可以轻松控制块的大小,并根据您的需要和要并行处理的数量对其进行自定义。为了获得更好的性能提升,建议用户一次至少压缩超过 1 兆字节的数据。
通过 Go API 解压文件
免费的 pgzip 库使软件开发人员能够在他们自己的 Go 应用程序中解压缩他们的文件。和压缩一样,解压也可以通过自定义块大小来进行。您可以轻松获得自己的阅读器并指定自己的预读。对于您的读者,您需要定义块大小和将要提前解码的最大块数。
性能改进
当您拥有大量数据时,与 gzip 相比,pgzip 的性能可以提高。由于 pgzip 并行处理块,它显然比其他压缩器具有速度优势。用于高吞吐量、高压缩率的材料,如日志、JSON 和 CSV 数据也很有用。 pgzip 解压时的一大优势是它允许您在解压缩时执行其他工作。