ベンチマーク:ブラウザ内処理とアップロード型ツールの比較

同一のファイル、同じマシン、同じ回線でOptImgとiLoveIMGの処理時間を測定しました。測定方法と数値、そして差が最も小さかったケースまで公開します。

測定日:

どの画像サイトも速いと言います。しかし、何を、どんなファイルで、どの回線で測ったのか、そして自分たちの方式がどこで不利になるのかまで示すところはほとんどありません。このページはその逆をやってみる試みです。

ブラウザの中で画像を処理するOptImgと、ファイルをアップロードしてサーバーで処理し結果を返す広く使われているサービスiLoveIMGを比較しました。同じスクリプト、同じブラウザ、同じマシンと回線、同じ入力ファイルで、一度の測定として実施しています。

何を測ったか

報告する数値は作業時間です。ファイルがページに渡された瞬間に計測を開始し、完成したファイルの最後の1バイトがディスクに書き込まれた時点で止めます。人が実際に待つ区間がすべて含まれます。アップロード型ならアップロード、順番待ち、処理、ダウンロードが入り、OptImgならコードの取得、デコード、処理、ローカル保存が入ります。

ボタンのクリックではなくファイルの受け渡し時点で計測を始めるのは、公平性のためです。アップロード型のサービスはファイルを選んだ瞬間から送信を始めるため、ボタンから測ると彼らのアップロード時間が比較から静かに消えてしまいます。

各セルは3回実行の中央値で、毎回キャッシュが空の新しいブラウザを使います。これは意図的にOptImgにとって最も不利な条件です。測定区間の中で毎回処理コードを取得し直すことになり、初めて訪れた人とまったく同じ状況だからです。

測定環境

ハードウェアApple M3 Pro, 18 GB RAM
OSmacOS 26.5.2
ブラウザChromium 149.0.7827.55
回線≈95 Mbps down / ≈129 Mbps up, 16 ms idle latency (home fibre, Seoul)
制限プロファイル9 Mbps down / 1.5 Mbps up / 60 ms round trip

結果

作業時間(秒)で、小さいほど良い値です。差の列は、アップロードの往復方式が何倍長くかかったかを示します。

家庭用光回線

作業入力ファイルOptImgiLoveIMG
5MBの写真を圧縮4.9 MB · 4000×30000.95 s14.54 s15.3×
2000万画素のPNGをWebPに変換147.8 MB · 5477×36512.58 s29.12 s11.3×
2000万画素の写真をAVIFに変換22.8 MB · 5477×36516.02 s非対応
2000万画素の写真を50%に縮小2.8 MB · 5477×36510.96 s12.74 s13.3×
GIFの50フレームを画像として書き出し5.3 kB · 50 frames1.47 s8.80 s6.0×

速度を制限した4G回線

作業入力ファイルOptImgiLoveIMG
5MBの写真を圧縮4.9 MB · 4000×30000.93 s38.55 s41.5×
2000万画素のPNGをWebPに変換147.8 MB · 5477×36512.61 s282.35 s108.2×
2000万画素の写真をAVIFに変換22.8 MB · 5477×36516.58 s非対応
2000万画素の写真を50%に縮小2.8 MB · 5477×36511.01 s25.95 s25.7×
GIFの50フレームを画像として書き出し5.3 kB · 50 frames1.50 s9.49 s6.3×
  1. WebPの行は同条件の比較ではありません。iLoveIMGにはWebP出力が一切ないため、最も近い機能であるPNG→JPG変換に同じPNGを通して測定しています。この行を引用する際は必ずこの注記を添えてください。
  2. iLoveIMGにはAVIF出力がどこにもありません。したがってこの行は勝率の倍数ではなく非対応として報告します。

この数値を正直に読むために

  • 差の大半はネットワークによるもので、技術の巧みさではありません。ファイルをどこにも送らないからOptImgが勝ちます。回線が速く、ファイルが小さければこの優位は縮まり、今回の測定で差が最も小さかったのがまさにその場合です。
  • OptImgの時間はお使いのコンピューターに左右されます。計算がそこで行われるからです。以下の数値は上に記した機材で得られたものです。古いスマートフォンなら同じファイルでも遅く、より速いデスクトップなら速くなります。
  • iLoveIMGの時間は同社のサーバー負荷とサーバーまでの距離に左右されます。ある都市で1日に3回測った値はスナップショットであり、サービス品質の保証ではありません。
  • 両者の出力は同一ではありません。それぞれの既定値で実行しているため、ファイルサイズや品質設定は異なります。これは時間の測定であり、それぞれが何を生成したかは生データの出力サイズで確認できます。

再現する方法

テスト画像は人が選んだものではなく、固定した数式から生成しています。そのため私たちのファイルを信用しなくても、誰でもバイト単位で同一の入力を作り直せます。測定方法の全体、公平性のルール、既知の限界はコードとあわせて文書化しています。

以下の生の測定ファイルには個々の実行がすべて含まれます。区間ごとの時刻の記録、生成されたファイルのサイズ、そして実行時の環境情報です。

生の測定データ