GIMP developersのサンプルプログラムをビルドしてみます。
今回はmyblur1.cとmyblur2.cをダウンロードしてビルドする流れです。
基本的に前回のhello.cと同じ環境・手順となります。
https://developer.gimp.org/writing-a-plug-in/2/index.html
今回はmyblur1.cとmyblur2.cをダウンロードしてビルドする流れです。
基本的に前回のhello.cと同じ環境・手順となります。
cd ~/sources
wget https://developer.gimp.org/writing-a-plug-in/2/myblur1.c
gimptool-2.0 --install myblur1.c
wget https://developer.gimp.org/writing-a-plug-in/2/myblur2.c
gimptool-2.0 --install myblur2.c
ビルドの際たくさん警告が出ていました。
多分関数が古いとの警告のようですがビルド自体は成功しているようなので、今回は気にしないことにします。
多分関数が古いとの警告のようですがビルド自体は成功しているようなので、今回は気にしないことにします。
GIMPでフィルターを実行してみました。
myblur1がぼかし処理の遅いバージョンでmyblur2がぼかし処理の速いバージョンだそうです。
GIMP developersサイトの説明ではmyblur1.cはCPUがK6-2 350MHzで12分(760秒)ほど処理時間がかかるとのことです。
それだと遅いので高速版のmyblur2.cを作成し速度の対比をしているようです。
myblur2.cの速度が3秒とのことですので、だいぶ高速化しています。
ちなみにCPUがRyzen 5 5600X 3.7GHzでVMWare Player上のUbuntu20.04で計測したところmyblur1.cが21秒でmyblur2.cは体感で1秒以下といった感じです。
K6-2が現役のころというと2000年あたりのお話で、たしか基本IntelのPentiumとピン互換のCPUで、ぼちぼちAMD専用のマザーボードが出てきたころだったと思います。
性能に対する価格がIntelの同クラスと比べてコストパフォーマンスが高く、かなりお買い得感が高いCPUだったと記憶しています。
奇しくも現在使用しているCPUもAMDだったりしますので、おおむね20年ちょっとで、かなり処理速度が向上したことが体感できました。
(仮想環境で多分シングルスレッドのプログラムで比較ですので、実際はもっと性能差があるとは思います。)
myblur1.cとmyblur2.cではピクセル単位で画像データの書き換えをしているみたいですので、自分でフィルター処理が書けるようにソースコード読んで学習したいと思います。
コメント