我目前通过以下方式从插座中提取数据?
boost::asio::read_until(*socket, buffer, "\n", error);
std::string s((std::istreambuf_iterator<char>(&buffer)), std::istreambuf_iterator<char>());
从插座中提取数据似乎牵引机构是缓慢的,我需要拉更多的数据速度更快。关于我能做些什么来改善表现的建议?有没有办法为我创建另一个套接字并将一些抽取工作委托给那个?
首先,尝试从循环中移出'buffer' - 不应该每次重新创建和重新分配 – 2013-04-10 15:27:00
* slow *是一个相对术语,您期待什么样的性能? – 2013-04-10 16:47:24
因此,您已经对代码进行了剖析,而剖析器指出瓶颈是从套接字读取数据?无论如何,可能值得最小化内存分配和深度拷贝的数量。 – 2013-04-10 17:06:46