07/03/16 18:53:48 Hi6v4zHb0
>>552
「現在のProxomitronの動作」と「>552氏が求めるProxomitronの動作」をまとめると以下のようになると思います。
---- 現在のProxomitronの動作 (以降、「動作A」とする)
1. ファイルの先頭の1バイト目から読み込み、優先度の高いフィルタから順番にテスト
2. 1バイト進み、優先度の高いフィルタから順番にテスト
3. 「3. の動作」をファイルの末尾([EOF])まで続ける
---- 「フィルタの優先度」を最優先した場合のProxomitronの動作 (以降、「動作B」とする)
1. ファイルの先頭の1バイト目から読み込み、「優先度の最も高いフィルタ」をテスト
2. 1バイト進み、「優先度の最も高いフィルタ」をテスト
3. 「2. の動作」をファイルの末尾([EOF])まで続ける
4. ファイルの先頭の1バイト目から読み込み、「前回テストしたフィルタの次に優先度の高いフィルタ」をテスト
5. 1バイト進み、「4. でテストしたフィルタ」をテスト
6. 「4. ~ 5. の動作」をファイルの末尾([EOF])まで続ける
ここで、フィルタテストに必要とするバイト数に注目してみてください。
動作A … 「フィルタテストするバイト数 = 読み込んだファイルのサイズ」
動作B … 「フィルタテストするバイト数 = 読み込んだファイルのサイズ×フィルタの数」
このことから、「動作B」はフィルタの数が多ければ多いほど、Proxomitronの動作が顕著に重くなるでしょう。
「動作A」でもフィルタの数が多いほど、Proxomitronの動作が重くなりますが、フィルタテストするバイト数はファイルサイズ分だけに留まるため、「動作A」の負荷は「動作B」程には大きくならないと想像できます。
日本語としては私も「仕様」であっていると思いますが、上のところの内部事情を知っているか否かで見方が変わってきます。
特に、「フィルタの優先度」という表現は、如何にも「最優先されそうな設定」ですから、勘違いがあっても致し方ない気がします。
# 余談ですが、2chブラウザ「JaneDoe View」の ReplaceStr.txt は「動作B」に近い動作になっていると思われます。