32ビット版のImageMagickを実行するときのメモリ使用量は64ビット版の半分ですか?

32ビット版のImageMagickを実行するときのメモリ使用量は64ビット版の半分ですか?

ImageMagickを使用して大きなTIFFイメージを処理していますが、限られたリソース環境(AlibabaのFunction Compute、AWS Lambdaとほぼ同じ)で処理が行われるため、メモリの問題が発生します。プロセスにメモリが不足する場合もあり、一時ディスク領域が不足する場合もあります。

私は現在ImageMagickバイナリの64ビットバージョンを使用していると思いますconvert。 32ビットでImageMagickバイナリをカスタムコンパイルする場合、画像処理はメモリの半分を使用できますか?

私は答えが「いいえ」だと思いますが、もう一度確認したいと思いました。私の考えでは、convertメモリにロードされたバイナリのサイズが半分であり、実際の画像処理は64ビット版のconvert

ベストアンサー1

64ビットプログラムと32ビットプログラムの違いは、通常、プログラムが直接アドレス指定できるメモリ量にのみ影響します。プログラム自体は、プログラム内の変数サイズよりも多くのメモリ空間を占有しない可能性があります。 IE:32ビットバイナリのCプログラムでは、intの最大値は約20億です。 64ビットバイナリのintの最大値は9,223,372,036,854,780,000です。 64ビットプログラムはより大きなメモリ空間からデータを読み書きすることができますが、プログラム自体はもはやメモリを使用しません。

短い答え:大容量データファイルで作業している場合、32ビットバイナリは役に立ちません。

おすすめ記事