- 1 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/01(火) 12:41:46 ID:IsoaU6wd0]
- フィルタをアップするときに書き込む項目(推奨)
・フィルタを適用したブラウザ ・ブロックに使用した手段 ・ブロックされる広告の説明 ・フィルタ 過去のスレッド Mozilla Firefox Adblockフィルター スレッド Part1 pc7.2ch.net/test/read.cgi/software/1131101772/
- 787 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/15(日) 00:33:22 ID:p2ASdhOI0]
- というわけで超適当にベンチ計ってみますたよ。
Firefox の仕様: OS X 版の Firefox 2.0.0.3 に Adblock Plus と Fasterfox だけオン。 チェックに使用した HTML ファイル(test.html): <html> <body> <img src="localhost/bana/000.jpg"> <img src="localhost/bana/001.jpg"> (中略) <img src="localhost/bana/499.jpg"> <!-- 以下はダミー --> <img src="localhost/noad/000.jpg"> <img src="localhost/noad/001.jpg"> (中略) <img src="localhost/noad/499.jpg"> </body> </html> ちなみに全ての画像は 404 Not Found が返る。 ダミーを用意したのはどうやらひとつのフィルタがヒットした URL に対する 残りのフィルタによるチェックがスキップされてるっぽいから。 (ヒットしないフィルタの影響がスルーされないように)
- 788 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/15(日) 00:35:40 ID:p2ASdhOI0]
- 用意したフィルタリストは次の8種類:
A.shortcut を作れるフィルタ(当たり500個) bana/000〜499 B.shortcut を作れるフィルタ(外れ500個) bana/500〜999 C.shortcut を作れないフィルタ(当たり500個) na/000〜499 D.shortcut を作れないフィルタ(外れ500個) na/500〜999 E.単純な正規表現(当たり500個) /bana\/000〜499/ F.単純な正規表現(外れ500個) /bana\/500〜999/ G.まとめた正規表現(当たり1個) /bana\/\d{3}/ H.まとめた正規表現(外れ1個) /bana\/\d{4}/ 机上の空論: ・C≒E>A (フィルタが全てヒットする条件だとAは shortcut 検索のステップがある分C・Eより僅かに遅い。 またCとEは内部的には同一なのでほとんど差は出ない) ・A≒A+B (Bはあってもなくてもほとんど問題にならない) ・D≒F (DとFは内部的には同一なのでほとんど等しく重い) ・A+B>C+D≒E+F (ヒットするフィルタとヒットしないフィルタが混在すると shortcut を作れるA+Bが優位に立つ。 またC+DとE+Fは内部的には同一なのでほとんど差が出ない) ・E≧G『かも知れない』 (GのEに対する優位性はその正規表現の複雑さに依存するので一概には言えない)
- 789 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/15(日) 00:37:30 ID:p2ASdhOI0]
- そして text.html の読み込みが完了するまでの時間
(5回程度リロードした時の最速タイム。単位は秒): フィルタ無し:10.963 Aのみ:6.987 Bのみ:10.590 A+B:6.791 Cのみ:6.702 Dのみ:10.380 C+D:7.162 Eのみ:6.936 Fのみ:10.398 E+F:7.207 Gのみ:6.890 Hのみ:10.485 G+H:6.878 キャッシュがバリバリ効いているので無意味なデータかも知れない。 統計学的に信頼ができる代物でもない。 また、Firefox が動いているのと同じ Mac でローカルサーバも動かしたんで ブロックされる要素が少ない条件下での読み込み時間が不当に増えてるかも知れない。 (それでも実際に外部のサーバにアクセスしてデータを受け取るよりは圧倒的に速いとは思うが)
- 790 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/15(日) 00:39:29 ID:p2ASdhOI0]
- 見ての通り、shortcut が作れるフィルタはいくつあっても速度的にはほとんど影響がないが、
shortcut が作れないフィルタや正規表現(特に『ヒットしないもの』)が大量にあると 処理は多少重くなる……と、言って良いものかどうか。 今回の条件では有意な差があるようには俺には見えん。もう1回やったら逆転してるかも。 使った正規表現が単純すぎて動作がそれほど重くならないためなのか shortcut の優位性が今ひとつはっきりしないので BとFの外れフィルタをそれぞれ10000個に増やしてみたりもしたんだけど、 やっぱりほとんど差は出ない。 『shortcut が作れるフィルタ>>> shortcut が作れないフィルタ≒正規表現≧複雑な正規表現』 という開発者の言葉に間違いがあるとは思わないが、 >>625が言ったように目で見て分かるほどの差があるわけではないのかも知れない。 でも shortcut が理論上ここからの速度低下がほとんど無いのに対して 正規表現はやりようによってはここから底抜けに鈍重になっていくことができる。 そういう意味ではやはり shortcut >>>正規表現は正しいのだろう。多分。
|

|