公式サイトにdebがありますが、自分でパッケージを作ってみました。libjpeg-turbo を優先する設定を自動で行うようにしています。それと、ヘッダファイルやjpegtran等のプログラムを収録していません。
→ パッケージリポジトリ
インストール後、下のコマンドでlibjpeg-turboが使われているかどうか確認。
$ ldd /usr/lib/libcupsimage.so.* | grep jpeg libjpeg.so.62 => /opt/libjpeg-turbo/lib/libjpeg.so.62私のパッケージをインストールするとシステム全体でlibjpeg-turboが使われます。Fedoraで安全性は折り紙付き(?)だし大丈夫と思いますが、色々なソフトが動かなくなる可能性があるので注意! 何かあったらアンインストールしてくださいませ。もしくは、特定のプログラムだけ有効化するのもいいですね。やり方は「LD_LIBRARY_PATH」で適当に検索してください。
沢山のJPEGをImageMagickで拡大するのに掛かる時間を比較してみます。
libjpeg: $ export LD_LIBRARY_PATH=/usr/lib:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu $ time (for f in *.jpg; do convert -geometry 200% "$f" /dev/shm/$$; done) → real 0m45.792s libjpeg-turbo: $ unset LD_LIBRARY_PATH $ time (for f in *.jpg; do convert -geometry 200% "$f" /dev/shm/$$; done) → real 0m34.791sかなり違いますね。気に入った。とはいえ、Webブラウザや画像表示ソフトの読み込みは、イマイチ体感的な違いが感じられなかったりして。たぶん速くなっているのだろう。そうに違いない(-_-;)
ああ、でも、GIMPで10MBのJPEGファイルを読み込む時間を計ってみたら
libjpeg: 10秒ぐらい
libjpeg-turbo: 7秒ぐらい
ってな感じの差が出ました。パソコンのCPUはAthlon64X2 3800+です。
≪追記≫
UbuntuのFirefoxは、libjpegを静的リンクしている(中に組み込んでいる)っぽい。再ビルドしないとlibjpeg-turboの恩恵を受けられないと思う。よく分からんけど。
≪追記≫
Ubuntu 11.10から公式リポジトリにパッケージがあります。
≪追記≫
Ubuntu 12.04からlibjpeg-turboが標準装備されるようになりました。
≪参考サイト≫
・Debian - libjpeg-turbo - PIB
・libjpeg-turboでjpegの変換が速くなる - かみぽのメモ
・jpegファイルの読み込みを2倍に高速化させる-ネタノメモ
01:53 pm | コメントする |
1. Suzuki 2011/04/20 05:16
Ubuntu-11.04 beta2 に libjpeg-turbo をインストールしましたが、
うまく動作しません。
解決のためにお力添えを頂けましたら幸いです。
【作業の経過】
$ sudo add-apt-repository ppa:ikoinoba/ppa
$ sudo apt-get update
$ sudo apt-get install libjpeg-turbo
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libjpeg-turbo
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 186 個。
188 kB のアーカイブを取得する必要があります。
この操作後に追加で 766 kB のディスク容量が消費されます。
取得:1 http://ppa.launchpad.net/ikoinoba/ppa/ubuntu/ natty/main libjpeg-turbo i386 1.1.0-0~ppa3 [188 kB]
188 kB を 2秒 で取得しました (86.9 kB/s)
未選択パッケージ libjpeg-turbo を選択しています。
(データベースを読み込んでいます ... 現在 129884 個のファイルとディレクトリがインストールされています。)
(.../libjpeg-turbo_1.1.0-0~ppa3_i386.deb から) libjpeg-turbo を展開しています...
libjpeg-turbo (1.1.0-0~ppa3) を設定しています ...
libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place
$ ldd /usr/lib/libcupsimage.so.* | grep jpeg
libjpeg.so.62 => /usr/lib/i386-linux-gnu/libjpeg.so.62 (0x003ec000)
2.
Sawa 2011/04/20 19:12
11.04のパッケージは「とりあえず作った」状態でして、まだ動作確認していません。
今日か明日に試してみます。
3.
Sawa 2011/04/21 23:52
11.04からライブラリ置き場として /usr/lib/i386-linux-gnu/ が追加されました。その設定が libjpeg-turbo の設定を上書きしちゃってたようです。
4. Suzuki 2011/04/22 07:21
早速、新バージョンのlibjpeg-turboを導入しました。
結果は極めて良好です。
【 パフォーマンスの評価 】
CPU : Athlon II X2
言語 : Python + Image Library
処理内容 : JPEGファイルからサムネイルを作成する、バッチ処理
所要時間 :
libjpeg62 5.6秒
libjpeg-turbo 2.6秒
【 感想 】
なんとも素晴らしい成果ではないですか。
Libjpeg-turboがUbuntuで標準採用されないのは残念ですが、Sawaさんのパッケージが有れば問題なしですね。
勝手な希望で大変恐縮ですが、Ubuntu-11.10以降もSawaさんのサポートを期待しています。
まずは御礼まで。
5. NONAME 2011/04/23 14:53