在Nodejs中关于url.parse的性能

我刚刚跟踪我的nodejs服务器的性能使用: siege -b -t10s -q http://mynodejsserver

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

交易速度约为4300转/秒

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

其他代码是一样的。

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

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

是的,在techempower基准testing中,当移除url.parse时,node.js从20k / s变为30k / s。

像大多数node.js模块(我已经重写了几个“事实上的标准”节点模块的速度提高了3倍到75倍,只是检查我的githubconfiguration文件)的实现是非常缓慢的。

我实际上已经计划了一个url.parse重写。 但是,是的,如果你能避免它,那么你应该避免它。


更新

这解决了性能问题: https : //npmjs.org/package/fast-url-parser 。 它具有完全相同的API和语义,但速度要快25-30倍,并不会影响事务处理速度。