原来就不慢,为什么还能提高这么多,哪方面提的速呢?---把我下面的回复放上来,当作问题的补充---因为pcre本身也是用c写的,并不是动态编译。我现在不明白的是它如何动态编译的,是分析二进制代码然后再重新编译?还是先运行一个虚拟机,再在上面跑,然后再分析?还有就是如何优化的?最近一直再看pcre的源码(英文比较烂,看的慢,刚把未用JIT的代码看了个大概),觉得原来的代码并没有多少冗余,如果再打开c编译器的优化选项,觉得从代码本身来看并没有多大的优化余地,看了pcre的帮助文件也没说清楚原理,只说表达式里包含循环或者表达式越长用JIT的优化效果越明显,测试了确实如此。再就是对这个比较感兴趣是也写过一个正则表达式引擎,速度和未用jit加速的pcre差不多,而且能优化的手段基本都用了,所以非常好奇jit是怎么优化的。
添加回答
举报
0/150
提交
取消