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

cpu時鐘預取實例代碼分享

 更新時間:2013年12月19日 15:05:50   作者:  
cpu時鐘預取實例代碼分享,大家參考使用吧

測試下預取的效果,利用CPU始終查看效果。根據(jù)實驗發(fā)現(xiàn),預取地址在地址使用之前的十行左右代碼處效果比較好!

復制代碼 代碼如下:

#include <stdio.h>

#define MAX_LEN 1000000

static inline void prefetchnta(void *addr) //預取部分
{
    __asm__("movl %0, %%eax"::"a"(addr));
    __asm__(".byte 0x0f, 0x18, 0x00");
}

inline unsigned long long GetCPUTickCount()
{
    unsigned long high32 = 0;
    unsigned long low32 = 0;

    __asm__("RDTSC" : "=a"(low32), "=d"(high32));

    unsigned long long counter = high32;
    counter = (counter<<32) + low32;

    return counter;
}

int main(int argc, char* argv[])
{
    long long start, end;
    long long array[MAX_LEN];
    int i;

    for(i = 0; i < MAX_LEN; i++) //讓cache失效
        array[i]++;

    start = GetCPUTickCount();
    array[0]++;
    end = GetCPUTickCount();
    printf("don't use prefetch time:%ld\n", end - start);


    for(i = 0; i < MAX_LEN; i++)
        array[i]++;

    prefetchnta(array);
    start = GetCPUTickCount();
    array[0]++;
    end = GetCPUTickCount();
    printf("use prefetch time:%ld\n", end - start);

    return 0;
}

相關(guān)文章

最新評論

万盛区| 中西区| 西华县| 资源县| 洛扎县| 图片| 绥德县| 青田县| 哈尔滨市| 柳江县| 潜江市| 宁远县| 雅江县| 丘北县| 鄯善县| 苗栗市| 荣昌县| 象山县| 左云县| 延边| 泽库县| 刚察县| 读书| 藁城市| 桃园县| 巴南区| 金山区| 当雄县| 奉新县| 彰武县| 宜君县| 松潘县| 饶阳县| 库尔勒市| 博白县| 滨州市| 汾西县| 凯里市| 泊头市| 延川县| 保定市|