我目前通過以下方式從插座中提取數據?
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