【问题标题】:Which language would be the best (speed wise) to run algorithms with lots of loops & regex? [closed]哪种语言最适合(速度方面)运行具有大量循环和正则表达式的算法? [关闭]
【发布时间】:2025-12-31 21:10:01
【问题描述】:

寻找一种快速的后端语言来运行具有大量循环和正则表达式的算法。应用程序正在运行 php(Zend 框架),希望将核心功能进一步向后移动以获得更好的内存使用率和速度。到目前为止考虑 perl(经过一些谷歌搜索),想确保这是最好的选择

感谢您的帮助

【问题讨论】:

  • 首先改进您的正则表达式或用更简单的字符串操作替换它。无论您使用哪种语言调用计算所述正则表达式的 C 库,复杂的正则表达式都会很慢。
  • 改进算法可能比切换语言更好。
  • 你已经熟悉 Perl 了吗?当寻找提高性能的方法时,用我不知道的语言重写我的应用程序并不是我想到的第一个选择。 ;)

标签: regex performance algorithm


【解决方案1】:

Perl 就是为这种目的而设计的。它是第一个真正从 perl 做正则表达式和大多数其他语言复制语法的人。但是,我还没有真正看到任何性能基准来证实这一点。

这是一个benchmark 比较 perl/python/ruby。似乎证实 perl 是最快的。同样,这不会让我感到惊讶,因为这就是它的设计目的。

这里是one more article,我建议您阅读有关此主题的内容。它指出 perl 可能比 java 慢,但这是有充分理由的。

【讨论】:

    【解决方案2】:

    在这种情况下,您很可能需要使用编译的 RegExp。有关在 PHP 中使用已编译 RegExp 的更多信息,请参阅 this question

    【讨论】:

    • "编译"在这种情况下只是意味着创建一个对正则表达式的引用并将其保存在范围内,而不是依赖于 PHP 的内置正则表达式缓存;无论哪种方式,正则表达式本身的运行速度都一样快。但是,是的,这是 OP 在放弃 PHP 之前应该考虑的许多事情之一。
    最近更新 更多