2017-12-12 7 views
0

私は複数のオブジェクトを繰り返しピクルリングしますが、連続してピッキングすることはありません。しかし、判明したように、ピクルされた出力ファイルは大きすぎます(それぞれ約256MB)。酸洗にbz2.BZ2ファイルを頻繁に繰り返し使用する

openの代わりにbz2.BZ2Fileを試しました。各ファイルは1.3MBになりました。 (ええ、うわー)問題は、時間がかかりすぎる(1つのオブジェクトを酸洗するのと同じように95秒)、それを高速化したいということです。

各オブジェクトは辞書であり、そのほとんどは構造が類似しています(または階層がよく記述されている場合はほぼ同じです)。各キーに対応する各値は通常、特定の構造を持っています。に)。辞書の値の多くは小数点以下の配列なので、そこには多くのゼロが現れると思います。

もっと速くするためのアドバイスをいただけますか?

ありがとうございました!

+0

'bzip2'が遅いことが知られている、あなたは' zlib'を試してみました:

簡単にインストールすることができ、a python wrapperありますか?あなたは何を求めているのか明確ではなく、マルチスレッドやマルチプロセッシングを使ってスピードアップしていますか? – georgexsh

+0

@georgexshご意見ありがとうございます。私はlz4に切り替えました(私の答えに述べられているように)、それは私が持っていた問題全体を解決しました。圧縮時間は、オブジェクトごとに1秒未満に減少しました。 – noname

+1

これを知ってうれしい – georgexsh

答えて

1

私は驚くほど速い圧縮アルゴリズムであるlz4を使用してしまいました。

pip install lz4 
関連する問題