国产探花免费观看_亚洲丰满少妇自慰呻吟_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效率測試,就全面講解完了,希望看完本文您有所收獲。如果您還有疑問可以我留言,武林小編會在第一時間回復您的,同時也非常感謝大家對武林技術頻道網站的支持!

?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂伦春自治旗| 米林县| 合水县| 新平| 临漳县| 永仁县| 寿阳县| 金阳县| 龙泉市| 泰来县| 纳雍县| 沙湾县| 鄂托克旗| 聂拉木县| 宣恩县| 凤冈县| 高州市| 平潭县| 棋牌| 宝丰县| 卢龙县| 天峨县| 高雄市| 莱阳市| 富川| 台州市| 双峰县| 惠东县| 鹤壁市| 二连浩特市| 邵东县| 石首市| 封开县| 永泰县| 攀枝花市| 仪陇县| 尉犁县| 邯郸县| 宕昌县| 万山特区| 昂仁县|