星期二, 十二月 17, 2013

string.find 和pcre regular match 那个快?

通过对比12万条的记录,查找同时包含2个子字符串的字符串行,
使用pcre需要7328 milliseconds
而调用2次 .find 时间是:2891 milliseconds

如果不是regular expression 写的不够聪明,就是regular 在简单查询上的确慢。

当然扩展性是regular 好了,只要将regular pattern string 传递函数即可。
字符串find 则需要编写非常复杂的代码表达简单的逻辑判断。

效率也基本是2~3倍的差距。几千行的数据比较,基本都在1秒内完成。