ImageMagickのgif変換が遅すぎる!!!
動機
ImageMagick(正しくはrmagick)を使ってあるプログラムの実装をしていたんだけど、、、なんかgif変換するとき異様に遅い。ちょっと気になるってレベルではなく重いのでちょいとベンチを計ってみた。
ベンチプログラム
require 'benchmark' require 'rubygems' require 'RMagick' $n = 100 Benchmark.bm do |job| job.report { $n.times do img = Magick::ImageList.new("/tmp/1.jpg") img.write("/tmp/1_to.png") end } job.report { $n.times do img = Magick::ImageList.new("/tmp/1.jpg") img.write("/tmp/1_to.gif") end } end
一応作成されたファイルデータ
-rw-r--r-- 1 root root 2547 Sep 13 20:27 1.jpg -rw-r--r-- 1 root root 7695 Sep 13 20:33 1_to.gif -rw-r--r-- 1 root root 16942 Sep 13 20:31 1_to.png
結果
user system total real 0.320000 0.120000 0.440000 ( 0.446430) 63.720000 25.370000 89.090000 ( 90.643507)
なんじゃこりゃーーーーーーーーーーーーー(略)。200倍っすか・・・・・。環境の問題?ImageMagickインストール時のconfigureオプションがいまいちだった?。詳しくはちょいと宿題ということで。