2

後でSeadragonAJAXの画像ピラミッドに変換するカスタム画像を作成しています。画像と画像ピラミッドはPILを使用して作成されます。現在、幅と高さの合計が約32,000,000 x 1000の約100枚の画像の画像と画像ピラミッドを生成するのに数時間かかります(はい、画像は非常に長くて狭いです)。パフォーマンスは、私が試した別のアルゴリズム(つまり、deepzoom.py)とほぼ同じです。python-gdの機能のほとんどが(GDライブラリから)Cでコーディングされているため、パフォーマンスが向上するかどうかを確認する予定です。大幅なパフォーマンスの向上を想定していますが、他の人の意見を聞きたいと思います。特に、PIL(w / Image.ANTIALIAS)ではサイズ変更とトリミングが遅くなります。Python-GDを使用すると、これは大幅に改善されますか?

コメントや提案を事前に感謝します。

編集:PILとpython-GDのパフォーマンスの違いはごくわずかのようです。コードをリファクタリングして、パフォーマンスのボトルネックを減らし、複数のプロセッサのサポートを含めます。Pythonの「マルチプロセッシング」モジュールをテストしました。結果は心強いものです。

4

2 に答える 2

1

PILは主にCです。

アンチエイリアスは遅いです。アンチエイリアスをオフにすると、速度はどうなりますか?

于 2009-10-13T01:22:18.123 に答える
0

VIPSには、高速のdeepzoomクリエーターが含まれています。私は時間を計りdeepzoom.py、私のマシンで私が見る:

$ time ./wtc.py 
real    0m29.601s
user    0m29.158s
sys     0m0.408s
peak RES 450mb

ここwtc.jpgで、は10,000 x10,000ピクセルのRGBJPG画像であり、これらの設定wtc.pyを使用しています。

VIPSは約3倍高速で、メモリの4分の1が必要です。

$ time vips dzsave wtc.jpg wtc --overlap 2 --tile-size 128 --suffix .png[compression=0]
real    0m10.819s
user    0m37.084s
sys     0m15.314s
peak RES 100mb

なぜsysがこれほど高いのかわかりません。

于 2015-02-18T13:57:01.860 に答える