国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++執行內存memcpy效率測試

2020-02-24 14:32:04
字體:
來源:轉載
供稿:網友

這是一篇關于C++執行內存memcpy效率測試,如果想學習下,不妨往下看看,希望武林小編給出的這篇文章,恰好能夠幫上正在困惑你的,那就是我寫文最大的收獲啦,好啦,閑話步多說,跟上武林技術編輯的步伐,一起學習起來吧。

在進行memcpy操作時,雖然是內存操作,但是仍然是耗一點點CPU的,今天測試了一下單線程中執行memcpy的效率,這個結果對于配置TCP epoll中的work thread

數量有指導意義。如下基于8K的內存快執行memcpy, 1個線程大約1S能夠拷貝500M,如果服務器帶寬或網卡到上限是1G,那么網絡io的work thread 開2個即可,考慮到消息的解析損耗,3個線程足以抗住硬件的最高負載。

在我到測試機器上到測試結果是:

Intel(R) Xeon(R) CPU?????????? E5405? @ 2.00GHz

do memcpy speed:12.27 ms/MB
each thread can do memcpy 667.645 MB

?

#include <iostream>
?#include <sys/time.h>
?#include <string.h>

?using namespace std;

?int main(int argc, char* argv[])
?{
???????? long len = 8192;
???????? int? loop = 200;
???????? char* p = new char[len];
???????? char* q = p;
???????? struct timeval start, end;
???????? gettimeofday(&start, NULL);
???????? for (int i =0; i < loop; ++i)
???????? {
???????????????? char* p = new char[len];
???????????????? *p = char(i);
???????????????? memcpy(p, q, len);
???????????????? delete [] p;
???????? }
???????? gettimeofday(&end, NULL);
???????? cout <<"do memcpy speed:" << ((end.tv_sec - start.tv_sec)*1000 + double(end.tv_usec - start.tv_usec) / (len*loop/1000/1000) ) / loop<<" ms/MB/n";
???????? cout <<"each thread can do memcpy "<< double(len)*loop/1000/1000 / ((end.tv_sec - start.tv_sec) + double(end.tv_usec - start.tv_usec) / 1000/1000) <<" MB/n";

?}

關于C++執行內存memcpy效率測試,就全面講解完了,希望看完本文您有所收獲。如果您還有疑問可以我留言,武林小編會在第一時間回復您的,同時也非常感謝大家對武林技術頻道網站的支持!

?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保康县| 连云港市| 双城市| 扬中市| 丹江口市| 临朐县| 调兵山市| 马龙县| 香河县| 婺源县| 进贤县| 台江县| 赤水市| 湟中县| 永靖县| 佛冈县| 永善县| 始兴县| 台中市| 黑水县| 宝山区| 安岳县| 股票| 德清县| 蓬溪县| 喜德县| 贵定县| 越西县| 宾阳县| 武隆县| 托克逊县| 慈利县| 建阳市| 临江市| 大连市| 安龙县| 尖扎县| 错那县| 若尔盖县| 若尔盖县| 那坡县|