最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于C++執(zhí)行內(nèi)存memcpy效率測試的分析

 更新時間:2013年05月04日 15:47:26   作者:  
本篇文章對C++中執(zhí)行內(nèi)存memcpy的效率進行了分析測試。需要的朋友參考下

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

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

在我到測試機器上到測試結(jié)果是:

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";

 }

相關(guān)文章

  • C++對Json數(shù)據(jù)的友好處理實現(xiàn)過程

    C++對Json數(shù)據(jù)的友好處理實現(xiàn)過程

    在Ajax的應用中,前臺基本上會用到JSON作為數(shù)據(jù)交換格式,所以下面這篇文章主要給大家介紹了關(guān)于C++對Json數(shù)據(jù)的友好處理,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • CreateThread()與beginthread()的區(qū)別詳細解析

    CreateThread()與beginthread()的區(qū)別詳細解析

    很多開發(fā)者不清楚這兩者之間的關(guān)系,他們隨意選一個函數(shù)來用,發(fā)現(xiàn)也沒有什么大問題,于是就忙于解決更為緊迫的任務(wù)去了。等到有一天忽然發(fā)現(xiàn)一個程序運行時間很長的時候會有細微的內(nèi)存泄露,開發(fā)者絕對不會想到是因為這兩套函數(shù)用混的結(jié)果
    2013-09-09
  • C++中 string 中的常用方法使用心得

    C++中 string 中的常用方法使用心得

    這篇文章主要介紹了C++中 string 中的常用方法使用心得,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C++中線性代數(shù)計算Eigen庫的使用教程詳解

    C++中線性代數(shù)計算Eigen庫的使用教程詳解

    Eigen是一個基于線性代數(shù)的C++模板庫,主要用于矩陣、向量、數(shù)值求解和相關(guān)算法,本文主要為大家簡單聊聊Eigen庫的使用,希望對大家有所幫助
    2023-12-12
  • C語言全面梳理文件操作方法

    C語言全面梳理文件操作方法

    這篇文章主要為大家詳細介紹了C語言的文件操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-05-05
  • C++ 實現(xiàn)2048游戲示例

    C++ 實現(xiàn)2048游戲示例

    《2048》是比較流行的一款數(shù)字游戲。原版2048首先在github上發(fā)布,原作者是Gabriele Cirulli。它是基于《1024》和《小3傳奇》的玩法開發(fā)而成的新型數(shù)字游戲。
    2014-06-06
  • 詳談浮點精度(float、double)運算不精確的原因

    詳談浮點精度(float、double)運算不精確的原因

    這篇文章主要介紹了詳談浮點精度(float、double)運算不精確的原因,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • VS2019實現(xiàn)C++的第一個MFC程序

    VS2019實現(xiàn)C++的第一個MFC程序

    本文主要介紹了VS2019實現(xiàn)C++的第一個MFC程序,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • C語言實現(xiàn)簡單五子棋游戲

    C語言實現(xiàn)簡單五子棋游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C C++ LeetCode題解在二叉樹中增加一行示例詳解

    C C++ LeetCode題解在二叉樹中增加一行示例詳解

    這篇文章主要為大家介紹了C C++ LeetCode題解在二叉樹中增加一行示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10

最新評論

遵义县| 安龙县| 启东市| 会昌县| 乌兰县| 彝良县| 仙游县| 沐川县| 石景山区| 安化县| 颍上县| 兰坪| 加查县| 玉树县| 漳平市| 芦山县| 垣曲县| 马龙县| 杭锦旗| 濉溪县| 蒙自县| 淅川县| 江川县| 兰州市| 固镇县| 屏南县| 个旧市| 同心县| 华亭县| 临沭县| 布尔津县| 迁西县| 封丘县| 毕节市| 康马县| 柞水县| 丹巴县| 封开县| 仙居县| 大洼县| 淮滨县|