我試圖分析我的程序,它是一個文件下載程序。我使用5 QNetworkRequest
來提高傳輸速度,他們都連接到相同的readyRead()
插槽。使用高速互聯網連接時降低readyRead()的CPU成本
我使用QMap緩衝這些字節數組。當下載速度達到例如5 MiB/s時,我發現CPU成本顯着上升,接近100%,每秒鐘調用30次。
對此有任何建議,例如我可以讓QNetworkReply緩衝它的io設備,減少發射的信號量嗎?
UPDATA
我readyReady()做了一些調試輸出: (reply
這裏從發件人鑄造())
qDebug() << "Got: " << reply->readAll().length() << " bytes";
而且每秒約30的輸出,每個包含1500字節
你可以顯示你的'readReady'代碼嗎?每秒30個呼叫似乎並不是很大。 – Mat
@Mat https://github.com/CaledoniaProject/Transf0r-Mini/blob/master/downloader.cpp#L406 – daisy