gpt4 book ai didi

c++ - 正则表达式比 if else 快吗?

转载 作者:太空狗 更新时间:2023-10-29 20:30:29 24 4
gpt4 key购买 nike

我有一个网络服务器程序来处理来自浏览器的请求,它是用 C++ 编写的。有很多服务,bbs/wiki/news,仅举几例。它们有不同的 url,例如:

  1. /bbs/viewtopic?tid=1

  2. /wiki/doc?did=1

  3. /news/artical?aid=1

现在我自己解析 URI,然后再做 if else。我这里以bbs为例,如果string以/bbs/开头,bbs会接管接下来的流程,然后bbs会继续检查是否是viewtopic,如果是,sever会把topic内容发送给客户端。 .

我有很多 if else 将请求分派(dispatch)给不同的服务,同时,每个服务也有很多 if else 来执行不同的操作。

我不知道 if else 是否是一个明智的选择,尽管代码很容易理解。对于这样的应用程序,正则表达式是否更快?

感谢您的参与:)

最佳答案

通常,通用编程框架(包括使用正则表达式)会导致编写速度较慢的代码。正则表达式库可能会以无关紧要的 CPU 时间为代价为您节省大量编写代码的时间。更常见的瓶颈是数据库的带宽、磁盘 io 和 CPU 使用率(如果它在同一台机器上)。

如果它真的那么重要,我会明确地说,您可以通过避免使用正则表达式库来获得更快的代码,但是您应该对您的实现进行基准测试,如果除了能够改进它之外没有其他原因的话。我没有在 C++ 中测试过它们以了解它们的效率,但在示例程序中测试例程将是一些额外的工作。

关于c++ - 正则表达式比 if else 快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6991049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com