私はファイルを保存するツイストPythonのイベントループベースのサーバーを使用していますが、ファイルを圧縮性に従って分類できるようにしたいと思います。
圧縮の恩恵を受ける可能性が高い場合は、btrfs圧縮がオンになっているディレクトリに移動します。そうでない場合は、別の場所に移動します。
確認する必要はありません。80%の精度で十分であり、多くのディスクスペースを節約できます。しかし、CPUとfsのパフォーマンスの問題もあるので、すべてを圧縮して保存することはできません。
ファイルは低メガバイト単位です。CPUの巨大なチャンクを使用し、イベントループを過度に遅延させるか、圧縮アルゴリズムをリファクタリングしてイベントループに適合させることなく、それらをテスト圧縮することはできません。
圧縮率をすばやく見積もるためのベストプラクティスはありますか?私が思いついたのは、ファイルの先頭からデータの小さなチャンク(数キロバイト)を取得し、それをテスト圧縮して(おそらく許容できる遅延で)、それに基づいて決定することです。
助言がありますか?ヒント?私の推論および/または問題の欠陥?