2006-06-11

田舎に泊まろう 石川県宝達志水町

すっげ。今まで見たことないくらいに断られてるわ。やっぱ北陸は閉鎖的なんだなって感じですなぁ、こりゃ。

まぁこの企画はそもそも女性には向いていないと思うけどねぇ。それにしたってこれはすげぇ。偉人て言ったのに、モーゼの墓なんつーオチがくるのも普通は予想できないって。

epeg はちょっとクオリティ低いな

いやなブログ: Epeg で JPEG ファイルのサムネイルを高速に生成する

は以前から気にはなっていたんだけど、今回実際に FreeBSD に入れて、自宅サーバに入れている Singapore がもっと早くならないか試してみた。

epeg は C のライブラリで、PHP のバインディングは存在しない。しかし epeg コマンドが存在するので もともと外部コマンドを呼び出してサムネイルを作っていた Singapore では利用しやすかった。1

やることは thumb.php の中で $imagetype が 2 のときに imagemagick の convert コマンドではなく epeg コマンドを呼び出すようにするだけ。

はえぇぇ。

超はえぇぇ。

正直、C3 1GHz のサーバの性能そのものに限界を感じていたんだけど、まだまだ十分いけんじゃんと思わせるに十分な速度だ。

……。

あれ?

なんか画像が汚いなぁ。

あー。

分かった。本当にサムネイル向けなんだ、これ。ここで自分の環境を整理してみる。

  • 手元の Singapore では 40*40, 120*120, 160*160, 700*600 の各サイズの画像を生成している
  • 700*600 は閲覧用。それ以外はナビゲーション用。
  • 汚いと感じたのは 700*600

要するに、epeg の縮小画像の生成はすごい速いけど、よく見るとアラが目につくレベルなわけだ。仕方がないので、700*600 の縮小画像を生成するときは epeg ではなく、従来通り ImageMagick を使うように設定した。

ちなみにリンク先の記事では ImageMagick に size オプションをつけるとかなり性能が向上するように書かれているが、手元の環境では size オプションをつけても思ったようには速くならなかった2。少なくともその状態でも epeg とは圧倒的な差があった。

そうすっとあれだな。ユーザーのアクションに追随しなければいけないような速度を要求されるサムネイルの作成(例えばアップロード済み写真の確認とか)には epeg を、くり返して「観る」ための画像の作成には ImageMagick をバックグラウンドで、と使い分けると気持ちいいアプリになるのかもしんない。

  1. 最初のうちは gd2 で画像の操作をしていたんだけど、gd では画像の操作が完了するまで PHP が何も返してこなくてブラウザがロックされたような状態になるので、外部コマンドを起動する方式になっていた ImageMagick に切り替えていた。 

  2. 速くなったかな?って感じはするんだけど。 

About

例によって個人のなんちゃらです