阅读:5229回复:10
使用Adblock_plus的几个误区!
误区一:我的过滤规则列表有成百上千条过滤规则,那不是载入速度越慢?
事实并非如此,看了adblock plus 官方的faq,里面有这么一段话: But with filters that qualify it doesn’t matter how many filters you have, the processing time is always the same. 也就是说,adblock过滤速度和规则多少无关,时间都是一样的。但是这个前提是这个规则有shortcut。所谓shortcut,就是一个八字符的文字串,adp就是根据这个八个字符的串来决定过滤方式的。 以|http://ad.*为例,adp过滤的时候可以选择“http://a”, “ttp://ad” and “tp://ad.”诸如此类的shortcut,每个都是八个字符,这样效率就高了。所有的shorcut都放在一个可查找的表格里面,adp过滤的时候先查找shortcut,找到了就直接过滤,找不到才一个一个的找过滤规则列表,这样速度就慢了。 结论:规则越多并不代表速度越慢。2000条规则和20条规则所花时间是相同的,而用20条普通规则来解释一条正则表达式也是值得的。 误区二:adp检查规则时候是从上到下扫描过滤规则列表,因此有用规则要尽量上提。 其实也不是如此。adp检查过滤规则的时候是自动选择最佳排列方式,而大部分的规则都是不予考虑的。用户排列的只是方便用户自己使用和查找,对实际性能是没有影响的。 结论:adp检查规则是自动选择最佳排列方式,和界面上规则排序无关。 Adblock Plus tests an address against your list of filters it determines the best the order in which filters should be tested automatically...It has no impact on the performance. 误区三:正则表达式比普通规则快的多,因此尽量多用正则表达式。 不尽其然。虽然adp把所有的规则都解释为正则表达式来检查和执行,但是由于正则表达式是压缩(compress)的,所以要花更多时间来估值(evaluate),想象一下如果你的一个规则用列表里面任何一个正则表达式都无法马上对应的话,那么就要更多的时间来解释这个规则了。正则表达式并不比普通规则来的快,因为在大部分情况下它需要更多的时间来解释和匹配。 结论:尽量少用正则表达式,虽然它能有效精简你的列表,但是却更慢。用多个普通规则并不一定就慢,原因上面解释了。 which filters should be used to make a filter list fast? You should use as few regular expressions as possible, those are always slow. 以上都是根据查阅adblock plus的官方网站的faq所写的,希望对喜欢用adp的兄弟有帮助。 我自己也是半桶水,正则表达式一窍不通,正好看到此文说正则表达式并不是最佳选择,所以就纠正一下大家的几个误区。:mrgreen: adp faq: http://adblockplus.org/en/faq |
|
|
1楼#
发布于:2007-05-14 01:57
原来如此,那么正则表达式唯一的优势就是可以精确过滤了。可能的话尽量用普通规则。
|
|
2楼#
发布于:2007-05-14 01:57
我想正则表达式在产生很多过滤规则方面也不错,不过还是用普通的比较多,除了一些通用性很强的规则。
|
|
3楼#
发布于:2007-05-14 01:57
现在的广告在链接上常常使用临时参数,这正是正则表达式的用武之地。
|
|
|
4楼#
发布于:2007-05-14 01:57
现有规则向八字符方向改造!
|
|
5楼#
发布于:2007-05-14 01:57
八个字符...
莫非是传说中哈希表?? |
|
|
6楼#
发布于:2007-05-14 01:57
什么八个字符啊?
|
|
|
7楼#
发布于:2007-05-14 01:57
具体要看官方网站的文章或到他们论坛提问!
|
|
|
8楼#
发布于:2007-05-14 01:57
请问大家火狐怎么把窗口边框去掉,那样总和皮肤颜色不同,可不可以把它去掉哪
|
|
9楼#
发布于:2007-05-14 01:57
|
|
|
10楼#
发布于:2007-05-14 01:57
不错啊,谢谢斑竹。。。
|
|