Opera 9 は遅くなった

Opera 9 が重くなった/動作が遅くなったという感想を見かける。感想だけなら誰でも書ける。何が行われているから重くなったのか、その訳を知りたい。
Opera 社の Petter Nilsen が昨年春から延々と続くフォーラムのスレッドの中でその理由を解説している。

the reason for the performance change in Opera 9 was that we had to change from using the standard C library to using the Win32 functions for file access to be able to solve a different bug, namely supporting 64-bit file sizes (2+GB files).

当該スレを冒頭から読んでみると、他にも詳しい事がいろいろ書かれている。
[2/28 追記]コメントでてらじからの要望もあったので、スレの概観をメモしておく。Opera 9 が起動/終了に長い待ち時間を要するのは、少なくとも Windows 版においては、ここで論じられている問題が一つの大きな要因だと思われる。

  • Opera 9 が未だ 8.5x のテスト版と呼ばれていた頃の昨年春、build 8238 と build 8248 を比べると、ディスク・リード/ライトの数値が 100 倍近く増大しているという報告が Opera wiki をやってる non-troppo によって上げられスレが始まった。
  • 間もなく Petter Nilsen がそれは 64-bit filesize のサポートのためだと説明した。Win32 API を呼び出す方法を変更する、使用するライブラリの変更等によって動作の最適化が行われていないというものだった。
  • その時点ではベータだし徐々に改善されるだろうという見通しがあった。
  • 話題は次第にリード/ライトを上手く監視するツールの話題へと及んだ。
  • 読み書きされている内容が分かってきた。skin.zip、各種 ini file、言語ファイル、chartables.bin、mail/ini.tmp 等の読み書きが 8.5x と比べて飛躍的に増大している。その必要性への疑問が出る。
  • ベータ期間の後半になると、数十倍に増大していた読み書きが数倍にまで下がった。
  • 今年 2 月になって profile をネットワーク階層に置いている人が、動作が遅くて困るという報告を上げる。
  • 8.54 と 9.20(現行 weekly) とで比較すると、依然読み書きされる回数に数十倍の差がある。
  • 64-bit ファイルサイズに対応した新しい C ライブラリには慎重なテストを要するので、残念ながら 9.20 には間に合わない。9.20 以降のバージョンで実装されるであろう。これが Petter Nilsen からの一番新しい状況説明。