ImageMagick
重い
ImageMagickは画像ファイルを読み込むと、内部空間用のフォーマットに変換してから画像処理を行います。どんな画像フォーマットであっても一度は内部空間用の共通フォーマットに変換して、また出力用のフォーマットに変換して、みたいな動きになる。ここで無駄が多いんです。
ImageMagickは、レントゲンとか天文とかで使われるようなフォーマットにも対応してて、どんなものでも変換してしまうというのがウリです。しかしpixivはJPEGさえ変換できればよかった。JPEGではY'CbCrという色空間が利用されていて、その色空間のまま変換してしまえば、比較的低コストで処理することができるんです。 それを自分たちで実装したのが「go-thumber」です。go-thumberでは、Y'CbCrの色空間のまま、FFmpegの機能を使って画像の縮小処理を行うんです。これが、pixiv最初の画像変換システムとして使われることになりました。