- 30 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/20(金) 23:22:56 ID:9dvtmpSx0]
- adblockplus.org/forum/viewtopic.php?p=10810
Q: 何で正規表現の後にフィルタオプションのチェックしてんの? それって遅くね? 何か理由があんの? A: > そう、理由がある。 > 2つの項目で共に true が返った時に特別な処理を行うという場合、 > 普通は false が返る可能性が高い方を先にテストする > (1つ目のチェックで false が返れば2つ目のチェックはしなくても良いから)。 > 現状では単純にフィルタオプションがそれほど頻繁に使われていないため、 > 正規表現によるアドレスのマッチングはフィルタオプションのチェックよりも遥かに false を返しやすい。 > だから正規表現を最初にチェックする方がパフォーマンスが良い。 > > ともあれ、実はこれを変えてもパフォーマンスはさほど変わらない。 > 最初のチェックは shortcut がマッチした時のみに実行されるので極めて希である > (頻繁に行われる処理ではないので、仮に多少の無駄があったとしてもそれほど重くならない)。 > そして頻繁に呼び出されるであろう2つ目のチェックに突っ込まれたリストは > 明らかに Adblock Plus に最適化されていない。 > こういったリストにはなおさらフィルタオプションが使われそうにない > (つまり余計な処理が入ってさらに重くなる可能性が高い)。 原文に書かれたソースコードを多少なりとも読めないと言ってる意味が分からんかも知れんが、 つまり、フィルタオプションを律儀に設定するのが主流ではない現状では フィルタオプションのチェックを先にすることが返って無駄な処理になるってことらしい。 微妙に釈然としない気分ではあるが、 まあフィルタオプションが当たり前の時代が来るならこれも変わるってことだから そんな時代が来ることを夢見つつも今は誤爆防止のためだけに使えってことでFA?
|

|