几年来,我一直在断断续续地研究 Perl 解析器,但由于它一直处于 pre-alpha 阶段,我从不担心会加快它的速度。然而,我已经开始研究优化它的方法,并对我的发现感到惊讶。
经过一些算法和正则表达式优化后,正常执行大约需要 3.5 秒,其中,大约 2.3 秒是 Perl 启动所需的时间(我在放置“die(”Done ");" 在第一行)。我知道 Regexp::Grammars 不是最快的 Perl 模块,但它的初始化似乎比实际执行脚本花费的时间要长得多。
因此,我开始寻找一种在运行之前将其编译为字节码的简单方法。似乎 B::Bytecode 是执行此操作的唯一功能方式,不再维护或包含在主要 Perl 发行版中。有什么简单的方法可以减少启动时间吗?
谢谢!