<<  2007.9  >>
SMTWTFS
      1
2345678
9101112131415
16171819202122
23242526272829
30      
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー

カテゴリー » 戯言 September 23, 2007

探偵ナイトスクープ〜ハリガネムシ!? [読書記録ChangeLog]

http://dkiroku.com/2007-09-18-2.html


うぉぉぉ、こんな寄生虫は初めて見た。
でも小さい頃はしょっちゅうバッタやカマキリ獲って遊んでたぞ?

検索してたら 恐怖!!ハリガネムシ なんていう話が。
うひゃひゃ、トラウマ物ですな。
09:08 pm | コメントする |

カテゴリー » ソフトウェア » Linux September 23, 2007

IJG's JPEG software with x86 SIMD extension (ver 1.02) Linux

http://cetus.sakura.ne.jp/softlab/jpeg-x86simd/jpegsimd.html

JPEG画像を処理する libjpeg ライブラリを高速化改造したものです。Windowsでも利用できますが、以下Linuxの話。


大抵のLinuxでは libjpeg は使われまくりだと思います。例えば私のFedoraなら
$ rpm -e --test libjpeg.x86_64
エラー: 依存性の欠如:
libjpeg.so.62()(64bit) は (インストール済み)gnome-libs-1.4.2-5.fc7.x86_64 に必要とされています
libjpeg.so.62()(64bit) は (インストール済み)firefox-2.0.0.5-1.fc7.x86_64 に必要とされています
libjpeg.so.62()(64bit) は (インストール済み)gtk2-2.10.14-3.fc7.x86_64 に必要とされています
libjpeg.so.62()(64bit) は (インストール済み)mplayer-1.0-0.80.20070715svn.lvn7.x86_64 に必要とされています
libjpeg.so.62()(64bit) は (インストール済み)qt-3.3.8-6.fc7.x86_64 に必要とされています
libjpeg.so.62()(64bit) は (インストール済み)kdelibs-3.5.7-21.fc7.x86_64 に必要とされています
...
...
...
以下沢山続く
...
この /usr/lib/libjpeg.so を高速版に置き換えれば、全体的に速くなる…かも? でも残念な事にAMD64には対応していないんだよね…

インストールはFedoraならRPMが用意されています。他のディストリビューションでもコンパイルは難しくないです。例えばUbuntuなら
$ sudo apt-get install nasm gcc
$ export CFLAGS="-O3 -pipe -m32 -march=i686 -msse -msse2 -msse3 -mmmx -m3dnow -mfpmath=sse -ftree-vectorize -fomit-frame-pointer"
(最適化オプションはいい加減です)
$ ./configure --enable-shared --enable-static
$ make
$ sudo install -s -m755 rdjpgcom wrjpgcom /usr/bin/
$ cd .libs
$ sudo install -s -m755 cjpeg djpeg jpegtran /usr/bin/
$ sudo install -s -m644 libjpeg.so.62.1.0 /usr/lib/libjpeg.so.62.0.0
こんなふうに無理矢理置き換えて念のため再起動すればいいのではないかと(ほんとか?)
libjpeg62パッケージがアップデートしたらファイルは元に戻っちゃいますけどね。

VMwareの中で10MBぐらいのJPEGをFirefoxやGIMPで読み込ませるなどしたのですが、正直言って体感的な違いがわからなかったり。そもそもVMwareの中で試すのが間違いだと思いますが。つーか、私は .dll とか .so の仕組みを正しく理解しているわけではないので、何か変な事してるかもしれないなあ。

検索してみたら「MASATOの開発日記」のlibjpeg高速化改造版の性能を簡単に評価その2というページにWindowsでのベンチマーク結果を発見。

関係ないけど、Fedora の /usr/lib/*.so のパーミッションは 755 で、Ubuntu は 644 な事に気付いた今日この頃。
12:01 am | コメントする |

累計:54318、今日:669、昨日:872
Created in 0.0076 sec.