C++ 中 json-rpc 的速度

Posted

技术标签:

【中文标题】C++ 中 json-rpc 的速度【英文标题】:Speed of json-rpc in C++ 【发布时间】:2013-06-08 20:39:45 【问题描述】:

我正在使用来自cinemast 的 json-rpc-cpp 库

作为测试,我编写了一个简单的服务器,它接受两个整数并将它们的总和返回给客户端。 在非常小的 VPS(128 MB RAM)上,可以在 localhost 上达到每秒约 270 个查询,然后在两个单独的 VPS 上。

这样的结果标准是json-rpc吗?我可以让它明显更快吗?

【问题讨论】:

我怀疑其中大部分时间是数据包穿越网络并再次返回所需的时间。在整个方案中,添加两个数字是一个非常小的操作。您可以通过发送几个每个包含 100 个整数的数组来证明这一点,并将这些数组的总和作为一个数组返回,我希望您能获得接近相同的性能。 @MatsPetersson:我会说它更多的是数据包创建和解析的开销,它会随着时间的推移而增加,从一个用户空间到另一个用户空间的网络数据包通常只有几微秒,如果完全没有。 所以“localhost”与“VPS”不是不同的机器? 是的。我的意思是在一台机器上的测试与通过互联网在两台不同的机器上的测试结果几乎相同 好吧,我在我用了 5 年的笔记本电脑上对其进行了测试,它每秒可以处理约 2500 个查询,并且系统时间不足是限制,所以库非常快 【参考方案1】:

我会说不,您的结果似乎并不典型。 是的,你应该能够让它更快。

我知道这个链接不是 c++,而且我测试的机器比你的 VM 有更多的资源,但我可以使用 http://jsonrpc2.codeplex.com/ 每秒获得​​ 100k-120k 的资源

我希望您的纯本机代码具有类似的性能。

【讨论】:

以上是关于C++ 中 json-rpc 的速度的主要内容,如果未能解决你的问题,请参考以下文章

用于 C++ 的非 GPL JSON-RPC 库 [关闭]

完成 c++ 文件的速度有多快? [复制]

在 C++ 中优化空间而不是速度

如何提高交易系统的运行速度:C和C++速度优化

continue 语句真的提高了 C++ 中循环的速度吗?

用于嵌入式平台的 C++ 中的简单 JSON-RPC?