Nodejs 中关于 url.parse 的性能

use*_*009 1 performance node.js siege

我只是使用以下方法跟踪了我的 nodejs 服务器的性能: siege -b -t10s -q http://mynodejsserver

我发现当没有“url.parse(req.url)”

交易速率约为 4300 trans/sec

但是当我使用 url.parse 时,交易率大约是 3600-3700 trans/sec

其他代码相同。

我尝试了很多次,结果很稳定。

url.parse 真的有性能问题吗?

Esa*_*ija 5

是的

是的,在techempower 基准测试中, node.js 在删除时从 20k/s 变为 30k/surl.parse.

与大多数 node.js 模块一样,实现速度非常慢(我在几个“事实上的标准”节点模块上重写了 3 到 75 倍的速度改进,只需检查我的 github 配置文件即可)。

我实际上也计划url.parse重写。但是,是的,如果您可以避免它,那么您应该避免它。


更新

这解决了性能问题:https : //npmjs.org/package/fast-url-parser。它具有完全相同的 api 和语义,但速度快 25-30 倍,并且在您的示例中根本不会影响事务率。