2011年9月29日星期四
自由软件正则表达式引擎的对比 zz
正则引擎sljit的作者受到了John Maddock之前对各种正则表达式引擎性能的测评的影响,他把自己的正则引擎和其他一些流行的自由软件正则引擎进行了性能对比,其中包括著名的PCRE(著名的IDS项目Snort就是使用的这个引擎),专注于并行化的tre和Google在2010年发布的re2。sljit正则引擎不兼容POSIX和PERL,而是在设计的各个方面跟随了Ken Thompson的脚步,基于DFA(确定有限状态机)和JIT编译来对模式匹配进行加速。 从最终的测评结果来看:
- PCRE对输入的初始字符的表达式非常的快
- TREE则使用了并行的匹配算法,在复杂的正则表达式上有优势
- RE2的性能超乎想象的高,而且只使用了0.5MB的内存作为空间换时间的开销
- SLJIT的速度也不错,而且没有任何空间换时间的开销(这是因为目前还没有实现状态捕捉)。
标签: Engine, Regular Expression
订阅 博文 [Atom]