未知のサイズのデータを解凍するときに使用する初期バッファサイズを計算しようとしています。私は、既存の圧縮ストリームからデータポイントの束を持っているが、それらを分析する最良の方法を知らない。ストリーム圧縮データの解凍に最適な初期バッファサイズの決定
データポイントは圧縮されたサイズで、圧縮されていないサイズに対する比率です。例えば : 100425(圧縮サイズ)×1.3413(圧縮比)= 134700(非圧縮サイズ)
解凍器は、初期バッファサイズとのrealloc場合をALLOCしなければならないので、圧縮されたデータストリームは、非圧縮サイズが格納されていませんオーバーフローする。私は圧縮されたサイズを与えられたバッファを割り当てるための "最善の"初期サイズを探します。私は293,000以上のデータポイントを持っています。
「ベスト」は何の目標ですか?あなたは最小化または最大化しようとしていますか? – RBarryYoung
2つの目標は、初期のバッファサイズが大きすぎるのを避け、バッファが十分に大きくなかったために余分な再割り当てを避けます。私の圧縮データストリームは<100バイトから155MBを超えて異なり、圧縮率は0から1421:1まで変化します。平均比率は16.95314、中央値は1.4295、標準偏差は115.1413 –
圧縮率に関する統計データは、入力された(圧縮された)データの範囲が大きすぎるため、かなり間違っています。サンプルをいくつかの範囲に分けてみてください。例えば、0〜10,000バイト、10,001〜1,000,000バイト、1,000,001〜10,000,000バイトなどです。それぞれの場合、より良いメジアンと標準偏差が得られます。 –