4

私は約6GB std::vector()(15億float秒)を圧縮する必要があるという事実に問題があり、これまでlz4を使用していましたが、それintはsのカウントしか処理しませcharん。ベクトルに60億文字あるので、表現するには33ビットが必要であり、LZ4を使用した圧縮は必要に応じて機能しません。

私がzlibライブラリで見たものから、圧縮されたデータの長さの入力だけでなく、intも必要です。

データをセグメント化する必要がありますか、それとも32ビットを超えるcharsを処理できるフレームワークがありますか、それとも何かが足りませんか?

4

2 に答える 2

2

zlibを使用して、配列をいくつかのチャンクとして渡します。zlibで使用されるDEFLATEアルゴリズムのウィンドウサイズは約32KBであり、すでに圧縮データをバッファリングしているため、データを複数のチャンクとして渡すことで圧縮効率に影響を与えることはありません。

于 2013-02-07T18:29:50.680 に答える
0

XZを見てください、それは本当に大きなサイズを扱うようです。CLI実行可能ファイル自体はライブラリの薄いラッパーであるため、これはあなたの請求に合うはずです。

OTOH、バイナリフロートのストリームはそれほどうまく圧縮されるべきではありません...

于 2013-02-08T01:57:35.873 に答える