本文介绍Perl JIT编译器pperl的新组件ReJIT,旨在提升正则表达式性能。在regex-redux基准测试中,pperl因解释器架构落后于V8的Irregexp编译器,故ReJIT将正则表达式编译为机器码,采用PCRE2风格,编译perl引擎的regnode程序,保留语义,支持捕获,并分阶段实施,预计减少3-5倍指令数。
pperl项目以高速开发著称,每两周代码变更量相当于Perl一年。在基准测试中,其JIT使mandelbrot程序比perl5快36倍,接近node.js。为此,项目暂停发布,从头重构JIT架构,目标超越所有脚本语言,同时保持通用性以加速真实程序。
几天前,我们在Reddit上宣布了pperl的原生模块策略,确认支持PDL(Perl数据语言)。我们用Rust重新实现了PDL,集成到pperl平台,支持15种数据类型和N维数组,提供算术运算和线性代数功能,避免了C依赖,提升了性能,适用于科学计算。
完成下面两步后,将自动完成登录并继续当前操作。