並列圧縮と解凍のための Go ライブラリ
標準の GZIP ファイルをプログラムで生成および読み取るための Golang API。大きなファイルをブロックに分割して圧縮し、圧縮と解凍を並行して実行します。
pgzip は、Go 言語を使用した並列圧縮および圧縮解除の完全な機能を提供するオープン ソース ライブラリです。このライブラリは、ブロックに分割され、圧縮/解凍を並行して実行するため、大量のデータを圧縮するのに非常に役立ちます。 pgzip ライブラリは、開発者コミュニティの間で非常に人気があり、いくつかのコマンドを実行するだけで Go アプリが圧縮ファイルを直接読み取ることができます。
このライブラリは非常に安定しており、開発者は標準の GZIP ファイルをプログラムで生成および読み取ることができます。ライブラリを最大限に活用するには、大量のデータ (一度に 2MB 以上) を圧縮または解凍することをお勧めします。ライブラリには、ファイルの圧縮、ファイルの解凍、GZIP ファイルのオープンと読み取りなど、いくつかの重要な機能のサポートが含まれています。
pgzip の使用を開始する
pgzip の推奨されるインストール方法は GitHub からです。スムーズにインストールするには、次のコマンドを使用してください。
コマンドでpgzipをインストール
go get github.com/klauspost/pgzip/...
Go API を介して大きなファイルを圧縮する
オープン ソースの pgzip ライブラリには、数行の Go コードを使用して大量のデータ ファイルを圧縮する機能が含まれています。この API は、大きなファイルを小さな部分に分割することをサポートしており (デフォルトのブロック サイズは 1MB)、最大で CPU スレッドの数まで処理できます。ブロックのサイズを簡単に制御できるだけでなく、ニーズや並列処理する数に応じてカスタマイズすることもできます。パフォーマンスを向上させるために、少なくとも一度に 1 メガバイトを超えるデータを圧縮することをお勧めします。
Go API によるファイルの解凍
無料の pgzip ライブラリを使用すると、ソフトウェア開発者は独自の Go アプリケーション内でファイルを解凍できます。圧縮と同様に、ブロックサイズをカスタマイズすることにより、解凍も実行できます。独自のリーダーを簡単に取得して、独自の先読みを指定できます。リーダーについては、ブロック サイズと、先にデコードされるブロックの最大数を定義する必要があります。
パフォーマンスの向上
大量のデータがある場合、pgzip のパフォーマンスは gzip に比べて向上する可能性があります。 pgzip はブロックを並行して処理するため、他のコンプレッサーよりも速度が明らかに優れています。ログ、JSON、CSV データなどの高スループットで高圧縮の素材にも使用できます。解凍中の pgzip の大きな利点の 1 つは、解凍中に他の作業を実行できることです。