青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

兔子的技術博客

兔子

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

留言簿(10)

最新評論

閱讀排行榜

評論排行榜

獲得程序或者一段代碼運行的時間

 (2006-06-14 09:49:11)
如何獲得程序或者一段代碼運行的時間?你可能說有專門的程序測試工具,確實,不過你也可以在程序中嵌入匯編代碼來實現。
     在Pentium的指令系統中有一條指令可以獲得CPU內部64位計數器的值,我們可以通過代碼兩次獲取該計數器的值而獲得程序或代碼運行的時鐘周期數,進而通過你的cpu的頻率算出一個時鐘周期的時間,從而算出程序運行的確切時間。
    我們通過指令TDSIC來獲得cpu內部計數器的值,指令TDSIC返回值放在EDX:EAX中,其中EDX中存放64位寄存器中高32位的值,EAX存放第32位的值.
    下面看看實現的代碼:
 
//用匯編實現獲取一段代碼運行的時間
#include<iostream>
using namespace std;
void GetClockNumber (long high, long low);
void GetRunTime();
int main()
     
long HighStart,LowStart,HighEnd,LowEnd;
long numhigh,numlow;
//獲取代碼運行開始時cpu內部計數器的值
__asm             
{
  RDTSC
  mov HighStart, edx
  mov LowStart, eax
}
for(int i= 0; i<100000; i++ )
{
             for(int i= 0; i<100000; i++ )
      {
      
      }
}
 
 
 

  //獲取代碼結束時cpu內部計數器的值,并減去初值
        __asm
{
  RDTSC
  mov HighEnd, edx
  Mov LowEnd,  eax
  ;獲取兩次計數器值得差
  sub eax,  LowStart
  cmp    eax,  0       ; 如果低32的差為負則求返,因為第二次取得永遠比第一次的大
  jg     L1
  neg     eax
  jmp     L2
            L1: mov numlow,  eax
            L2: sbb edx,  HighStart
  mov numhigh, edx
 
}
        //把兩個計數器值之差放在一個64位的整形變量中
        //先把高32位左移32位放在64的整形變量中,然后再加上低32位
__int64  timer =(numhigh<<32) + numlow;
         //輸出代碼段運行的時鐘周期數
         //以頻率1.1Gcpu為例,如果換計算機把其中的1.1改乘其它即可,因為相信大家的cpu都應該在1G以上  ^_^
cout<< (double) (timer /1.1/1000000000) << endl;
return 0;
}

     這樣通過一條簡單的匯編指令就可以獲得程序或一段代碼的大概時間,不過并不能得到運行的確切時間,因為即使去掉中間的循環,程序也會有個運行時間,
因為在第一次取得計數器的值后,有兩條匯編指令mov HighStart, edx       mov LowStart, eax這兩條指令當然也有運行時間 ,當然你可以減去這兩條指令的運行時間(在1.1G的機子上是3e-8s),這樣會更精確一點。
    如果你要確切知道程序的運行時間,專業的測試軟件肯定會更好一點,不過好像一般沒有必要獲取除非專門的要求的程序。
    不過能DIY一個也是不錯的,不管有沒有,最起碼你可以學到在VC++中如何嵌入匯編代碼以及如何使用32位的寄存器,其實和16位的寄存器一樣使用,將來64的也應該一樣,只不過位數不同罷了。
posted on 2012-02-22 16:08 會飛的兔子 閱讀(1427) 評論(0)  編輯 收藏 引用 所屬分類: 系統API,底層技術
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99国产一区二区三精品乱码| 亚洲人成网站在线播| 国产精品你懂的在线| 欧美乱妇高清无乱码| 欧美噜噜久久久xxx| 欧美日韩在线播放一区二区| 欧美性事在线| 国产婷婷色一区二区三区四区| 国产精品亚洲综合| 国色天香一区二区| 亚洲人午夜精品| 亚洲一区二区高清| 久久久久成人精品| 亚洲高清一区二| 一区二区三区免费网站| 亚洲欧美日韩一区二区| 久久综合婷婷| 国产精品国产成人国产三级| 国产日韩欧美综合精品| 亚洲黄色大片| 性18欧美另类| 亚洲国产你懂的| 亚洲婷婷综合色高清在线| 久久av一区二区三区| 欧美丰满少妇xxxbbb| 国产精品亚洲一区| 亚洲精品中文字| 久久久在线视频| 中文在线资源观看视频网站免费不卡| 欧美一区二视频| 欧美国产视频一区二区| 国产欧美二区| 亚洲午夜视频在线观看| 男男成人高潮片免费网站| 亚洲少妇一区| 欧美国产日韩亚洲一区| 好看的亚洲午夜视频在线| 亚洲小视频在线观看| 欧美激情一级片一区二区| 亚洲欧美日韩国产精品| 欧美日韩国产综合一区二区| 曰本成人黄色| 久久精品二区三区| 亚洲午夜精品网| 久久久av水蜜桃| 欧美成人伊人久久综合网| 夜夜爽av福利精品导航| 亚洲福利在线观看| 久久久久综合| 国产日韩精品一区观看| 亚洲一区在线直播| 亚洲欧洲一区二区三区| 久久午夜色播影院免费高清| 国产视频综合在线| 欧美性生交xxxxx久久久| 亚洲国产电影| 免费美女久久99| 欧美一区二区三区在线看| 国产精品日产欧美久久久久| 亚洲特级毛片| 中文欧美日韩| 国产精品美女在线观看| 亚洲欧美另类中文字幕| 亚洲天堂av综合网| 欧美视频一区二区三区| 亚洲欧美成人综合| 午夜精品一区二区三区在线视| 国产精品女主播| 欧美一区二区在线看| 亚洲欧美中文另类| 国产女人精品视频| 久久嫩草精品久久久久| 久久色在线观看| 亚洲人www| 99这里只有精品| 国产精品你懂得| 久久久久看片| 模特精品裸拍一区| 中国成人在线视频| 亚洲欧美视频在线观看| 极品av少妇一区二区| 亚洲高清一区二| 欧美午夜不卡| 久久久精品一区二区三区| 久久亚洲精品一区二区| aa亚洲婷婷| 亚洲综合视频一区| 亚洲国产精品va在线看黑人动漫| 亚洲黄色成人| 国产精品一区二区三区四区| 久久免费99精品久久久久久| 欧美成人午夜免费视在线看片| 夜夜爽99久久国产综合精品女不卡 | 欧美三级资源在线| 欧美在线free| 久热精品视频| 亚洲一区二区视频在线| 欧美一区二区三区视频在线观看| 亚洲盗摄视频| 亚洲视屏在线播放| 亚洲国产精选| 亚洲在线免费| 亚洲国产欧美一区二区三区丁香婷| 99天天综合性| 在线欧美日韩| 午夜久久一区| 宅男精品导航| 巨胸喷奶水www久久久免费动漫| 夜夜嗨av色一区二区不卡| 欧美在线看片a免费观看| 一本大道久久精品懂色aⅴ| 香蕉精品999视频一区二区| 一区二区三区色| 久久一二三区| 国产网站欧美日韩免费精品在线观看| 欧美一级视频| 欧美日韩不卡视频| 欧美成人一品| 韩国女主播一区| 亚洲女同精品视频| 亚洲欧美在线一区二区| 欧美日韩精品欧美日韩精品| 欧美激情亚洲激情| 亚洲第一区色| 麻豆精品一区二区av白丝在线| 久久国产色av| 国产日韩欧美制服另类| 亚洲综合日韩在线| 午夜精品av| 国产精品视区| 亚洲午夜av电影| 亚洲一区综合| 国产精品久久久久av免费| 在线亚洲免费| 亚洲欧美伊人| 国产女人aaa级久久久级| 亚洲影院免费观看| 欧美亚洲在线| 欧美专区在线观看一区| 欧美在线视频一区二区三区| 国产精品性做久久久久久| 亚洲视频一区在线观看| 欧美日韩国产色综合一二三四 | 久久婷婷激情| 欧美chengren| 亚洲欧洲精品一区二区三区 | 久久精品麻豆| 久久免费国产精品1| 黑人巨大精品欧美一区二区小视频| 午夜精品婷婷| 农村妇女精品| 精品999网站| 久久亚洲影音av资源网| 亚洲国产视频直播| 亚洲视频免费观看| 国产精品午夜国产小视频| 午夜视频一区二区| 另类春色校园亚洲| 99视频在线精品国自产拍免费观看| 欧美国产国产综合| 亚洲一区二区三区四区五区午夜 | 在线播放中文字幕一区| 欧美成人综合网站| 亚洲视频精选| 免费的成人av| 亚洲夜晚福利在线观看| 韩国自拍一区| 欧美日本一区二区高清播放视频| 亚洲在线一区| 欧美高清视频一区二区| 亚洲一区二区四区| 伊人成人开心激情综合网| 久久综合色综合88| 亚洲福利视频一区二区| 亚洲精品极品| 国产精品乱码| 美日韩精品免费| 亚洲一区二区三区四区中文| 欧美成年人在线观看| 亚洲男女毛片无遮挡| 亚洲人成7777| 国产视频观看一区| 欧美日韩精品一区二区在线播放| 羞羞色国产精品| 亚洲精品免费在线观看| 久久久视频精品| 亚洲伊人一本大道中文字幕| 亚洲第一精品电影| 国产欧美亚洲一区| 欧美日韩视频第一区| 裸体丰满少妇做受久久99精品 | 亚洲无亚洲人成网站77777| 欧美不卡视频一区| 久久精品噜噜噜成人av农村| 亚洲网友自拍| 一区二区免费在线视频| 亚洲欧洲综合另类在线| 激情久久五月| 激情成人在线视频| 国内精品久久久久影院色|