Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Common Lisp是否具有最快的PCRE实现?_Perl_Performance_Common Lisp_Pcre_Jit - Fatal编程技术网

Perl Common Lisp是否具有最快的PCRE实现?

Perl Common Lisp是否具有最快的PCRE实现?,perl,performance,common-lisp,pcre,jit,Perl,Performance,Common Lisp,Pcre,Jit,一位朋友声称,Common Lisp拥有所有语言中最快的Perl兼容正则表达式库,包括Perl本身,因为有了像SBCL这样的优化JIT编译器,CL-PPCRE可以将每个特定的正则表达式编译成本机汇编,而其他实现包括Perl,必须生成字节码并对其进行解释。在实践中,特别是对于我们试图将同一正则表达式与许多输入或长输入匹配的常见情况,编译开销是合理的 不幸的是,我在这方面找不到任何基准,我也不知道如何运行自己的基准,所以我转向蜂群思维。有人能评价这个说法吗?我没有自己的基准可以分享,但也许你的朋友提

一位朋友声称,Common Lisp拥有所有语言中最快的Perl兼容正则表达式库,包括Perl本身,因为有了像SBCL这样的优化JIT编译器,CL-PPCRE可以将每个特定的正则表达式编译成本机汇编,而其他实现包括Perl,必须生成字节码并对其进行解释。在实践中,特别是对于我们试图将同一正则表达式与许多输入或长输入匹配的常见情况,编译开销是合理的


不幸的是,我在这方面找不到任何基准,我也不知道如何运行自己的基准,所以我转向蜂群思维。有人能评价这个说法吗?

我没有自己的基准可以分享,但也许你的朋友提到的是关于可移植正则表达式库的结果。当前的web页面不再讨论基准测试,但我们可以看到,它用于显示基准测试结果,其中CL-PPCRE的性能优于Perl 2-to-1。基准测试是一项棘手的工作(特别是对于移动目标),这可能解释了为什么当前页面对这一问题保持沉默。

PCRE库现在有一个JIT编译器模块,与其他正则表达式相比,它有着良好的性能:或者

SBCL没有JIT编译器。SBCL总是将所有内容直接编译为机器代码。SBCL的特点是它的编译器总是可用的——甚至可以通过函数EVAL、COMPILE和COMPILE-FILE从用户代码中获得。