濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > cpu時(shí)鐘預(yù)取實(shí)例代碼分享

cpu時(shí)鐘預(yù)取實(shí)例代碼分享

熱門標(biāo)簽:揭陽智能電話機(jī)器人推薦 打電話機(jī)器人接我是他的秘書 客服外呼系統(tǒng)怎么樣 地圖標(biāo)注員都是年輕人 河南信譽(yù)好的不封卡電話外呼系統(tǒng) 如果做線上地圖標(biāo)注 百度地圖標(biāo)注錯(cuò)了有責(zé)任嗎 江蘇云電銷機(jī)器人公司 華鋒e路航港口地圖標(biāo)注

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

復(fù)制代碼 代碼如下:

#include stdio.h>

#define MAX_LEN 1000000

static inline void prefetchnta(void *addr) //預(yù)取部分
{
    __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 = (counter32) + 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;
}

標(biāo)簽:巴彥淖爾 婁底 馬鞍山 淘寶邀評(píng) 許昌 金昌 赤峰 邵陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《cpu時(shí)鐘預(yù)取實(shí)例代碼分享》,本文關(guān)鍵詞  cpu,時(shí)鐘,預(yù)取,實(shí)例,代碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《cpu時(shí)鐘預(yù)取實(shí)例代碼分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于cpu時(shí)鐘預(yù)取實(shí)例代碼分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    清水县| 如东县| 丹巴县| 汉阴县| 甘南县| 英德市| 苏尼特右旗| 石屏县| 阜新| 囊谦县| 永德县| 大连市| 勐海县| 宜丰县| 永平县| 延长县| 黄石市| SHOW| 新蔡县| 沂南县| 凤台县| 渝北区| 彰化县| 卢氏县| 涿州市| 库车县| 乃东县| 咸宁市| 西宁市| 泸州市| 兰坪| 凉城县| 集贤县| 岚皋县| 紫云| 白玉县| 富锦市| 龙江县| 澄城县| 汉寿县| 南投县|