【发布时间】:2012-07-30 08:02:52
【问题描述】:
有人告诉我,在 perl 中禁用反向引用可以提高性能(前提是您没有使用它们),并且如果您不使用任何反向引用 perl 将自行完成。
现在我有一个包含大量正则表达式的 perl 脚本,只有一个使用反向引用,我想知道以下内容:
- 鉴于我有大量的正则表达式(假设我的大部分处理时间是正则表达式)禁用反向引用是否会显着提高性能?或者有什么标准可以用来判断是否是这种情况?
- 有没有一种方法可以在开始时禁用反向引用,只在需要时才重新启用它(我知道
(?:,但我不想将它添加到每个分组中)? - 作用域是否允许 perl 为我优化这种反向引用行为(即,
sub或eval是否会更改 perl 是否关闭外部事物的反向引用)?
【问题讨论】:
-
»假设我的大部分处理时间都是正则表达式« O RLY? Profile(反对)证明你的假设。我敢打赌你的程序很重要,不会大部分时间都花在正则表达式上。
标签: regex perl performance