2013年09月06日

2013 09.06 Fri


Proxomitronが重くなる!?フィルター高速化のための10の方法普段からProxomitronフィルターをと弄っていると、いつの間にか重くなっていることがあります。
快適にインターネットをする為に使っているのにウェブブラウジングの処理が遅くなるようでは本末転倒です。

忘れっぽい自分のために、10のコツをメモ。

 
・$URLを検索表現の先頭に置くと、著しく速度が低下する
$URLを検索表現の先頭に置くと、Proxomitronは1バイトずつURLテストします。
これは非常に効率が悪く、$URL を何らかのマッチングパターンの後ろに置いた方が速くなります。



・検索の先頭に「 * (ワイルドカード)」を使うと、遅くなる
対象範囲の開始文字列を決めてから使いましょう。



・$NESTは * より速い
$NESTはタグの終わりを見ますが、 * はマッチする文字列に当たるまで進み続けます。
誤爆の可能性も多分に含みやすいので限定されていない検索範囲でアスタリスクを使うのは避けた方がいいです。



・$NESTで * を使うと誤爆する
$NEST(<a\s*>,</a>) 」の書き方は誤爆します。
$NEST(<a\s[^>]+>,</a>) 」もしくは「 $NEST(<a\s[^>]++>,</a>) 」と書く必要があります。



・* は ?+ より速い
本来のワイルドカードには条件がないので処理としては最速です。ですが、範囲の条件がないとソースの終わりまで突き進むので、範囲の条件付けが肝になります。



・OR関数は内部パターンを長くした方が速くなる
Match = "(h|)eight" 」より「 Match = "height|eight" 」の方が処理が速い。



・$STOP, \k を使うと、速くなる
$STOPを使うと、「$STOPを実行したフィルタは2度と呼ばれない」ため、高速化します。
\kを使うと、「現在の接続を切断する = 検索対象がなくなる = 全フィルタがマッチしなくなる」ため、高速化します。
(もちろん、「以降のデータをダウンロードしなくてよい」という通信的な意味合いもあります。)



・Boundsは遅い
Boundsはフィルタを見やすくしますが、代わりに速度を犠牲にしています。
「Boundsで1度テストしてから、検索表現でテストする」という二度手間になっているので、速度的には不利になってしまうのです。



・Multiは遅い
Multiとは、「Allow for multiple matches(複数のルールのマッチを許可する)」のことです。
あるルールにマッチした部分を、再び他のフィルターにマッチさせる機能です。
容易に想像できる通り、もう一度戻ることになるので処理が遅くなります。
可能な限りチェックを外せるように、フィルターの順番を考慮するか、まとめるべきかもしれません。



・Limitは出来るだけ小さくすべきである
本来、マッチさせる語句が短ければそこで処理が終わるのでLimitを気にする必要がなさそうですが、ワイルドカード「 * 」使用時や、あるべきタグ終わりが無い文法ミスなど予期せぬソースの場合、処理が長引くのを防げます。


参考:フィルタの高速化

お疲れさまでした。
参考になりましたらソーシャルメディアで共有してくださいませ。
posted by こさめ
edit  re

■ この記事へのトラックバック
カテゴリ
インターネット>ブラウザ・WEBメール(24)
インターネット>Firefoxアドオン、設定(15)
インターネット>Proxomitronフィルター(32)
インターネット>ブログ、WEBサービス(53)
インターネット>アフィリエイト・ポイントサイト(27)
インターネット>楽天、ポイントあれこれ(5)
インターネット>Windows最適設定(32)
インターネット>インターネット設定(17)
インターネット>デスクトップ改造・拡張(7)
インターネット>セキュリティソフト(6)
ブログカスタマイズ>カテゴリー、記事一覧系(38)
ブログカスタマイズ>jQuery(Script)文字系(23)
ブログカスタマイズ>CSS(Script)デザイン(28)
ブログカスタマイズ>ブログパーツ(7)
ブログカスタマイズ>携帯モバイル系(3)
ブログカスタマイズ>SEO・アクセスアップ(31)
マルチメディア>Brackets(5)
マルチメディア>画像系ソフト(6)
マルチメディア>DVD・動画プレイヤー(15)
マルチメディア>動画編集ソフト(6)
マルチメディア>音楽再生プレイヤー(16)
マルチメディア>ネットラジオ配信・編集(3)
マルチメディア>P2Pテレビソフト(4)
マルチメディア>おもしろ動画・感動動画(25)
デザイン>フリー素材 画像(5)
デザイン>HP・ブログ フリー素材(6)
デザイン>イラスト(非素材)(8)
デザイン>作詞作曲編曲MP3(5)
雑記>PC部品・音楽機材(7)
雑記>映画・アニメ・漫画・芸能(14)
雑記>どうでもいい雑学知識(6)
雑記>ゲーム(6)
雑記>スマホ・携帯電話(6)
雑記>カーナビ・ETC(3)
雑記>ネット銀行とか(2)
雑記>18禁?ちょいエロネタ(3)

 (C) 2006 - kosame All rights.
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。