続きを読む処理の高速化。まず続きを読む際に何をするかを列挙してみよう。
- ふたばから html を読み込む
- html のうちレス群以外を xml に変換する
- xml を元に、スレ本文の諸々及びその他のバインディングを更新する
- html のうちレス群を xml に変換する
- xml を元に、読み込み済みのレス群の以下の項目を更新する:
- 書き込んだ人による削除、スレッドを立てた人による削除、強制的なIP開示、なー
- ID の開示
- そうだねの増減
- 新しく増えたレス群を html に変換し、そのフラグメントを DOM に追加する
- 全レスに対して、ID の出現頻度をカウントし直す
この処理の内で現在ボトルネックになっているのは 5 と 7 だ。それぞれの処理をプロファイルしながら地道に高速化していく必要がある。
というわけで高速化した。1500レスくらいのスレッドで続きを読む全体の処理に 1 秒ちょいくらいかかってたのが、300msくらいになったのでだいたい 3 倍くらいか。あとは 4 も 100ms ほど時間がかかるのだがまあこれはしかたないかな。
あと関係ないけどついでに may とかで、添付された画像のファイル名を引用する習慣があるようなのでそういう形式の引用にもポップアップするようにした。