国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

c++程序計(jì)時(shí)

2019-11-08 01:47:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
        一個(gè)程序的功能通常有很多種方法來(lái)實(shí)現(xiàn),怎么樣的程序才算得上最優(yōu)呢?舉個(gè)例子,如果實(shí)現(xiàn)同一個(gè)功能的兩個(gè)程序,一個(gè)一點(diǎn)按鈕就給出運(yùn)行結(jié)果,而另一個(gè)則需要漫長(zhǎng)的時(shí)間去等待,就像安裝WINDOWSXP一樣(呵呵,太夸張了吧),你會(huì)去使用哪個(gè)程序呢?毋庸置疑,最優(yōu)程序的第一條法則就是:程序的運(yùn)行速度要快。  那么,既然一個(gè)程序能用多種方法來(lái)實(shí)現(xiàn),我又如何知道哪種方法是最優(yōu)的呢?有些程序是顯而易見(jiàn)的,你把它運(yùn)行一下,一個(gè)程序要3秒,一個(gè)要1秒,你當(dāng)然能感覺(jué)出來(lái)。如果都在一秒之內(nèi)呢,你又可以看申請(qǐng)的內(nèi)存空間的多少,運(yùn)算的數(shù)據(jù)大小,運(yùn)算過(guò)程的簡(jiǎn)單復(fù)雜,有時(shí)也能分辨出哪個(gè)程序最好,可是有的時(shí)候,卻不是那么容易看出來(lái),比如它比另一個(gè)程序少定義一個(gè)變量,可是它又比那另一個(gè)程序多用幾個(gè)除法,那么你就如何比較它們的運(yùn)行速度呢?辦法只有一個(gè)——計(jì)時(shí)!  C++中的計(jì)時(shí)函數(shù)是clock(),而與其相關(guān)的數(shù)據(jù)類型是clock_t(頭文件是time.h)。函數(shù)定義原型為:clock_tclock(void);  這個(gè)函數(shù)返回從“開啟這個(gè)程序進(jìn)程”到“程序中調(diào)用clock()函數(shù)”時(shí)之間的CPU時(shí)鐘計(jì)時(shí)單元(clock tick)數(shù),在MSDN中稱之為掛鐘時(shí)間(wal-clock)。  其中clock_t是用來(lái)保存時(shí)間的數(shù)據(jù)類型,在time.h文件中,我們可以找到對(duì)它的定義:   #ifndef_CLOCK_T_DEFINED   typedef longclock_t;   #define_CLOCK_T_DEFINED   #endif  很明顯,clock_t是一個(gè)長(zhǎng)整形數(shù)。另外在time.h文件中,還定義了一個(gè)常量CLOCKS_PER_SEC,它用來(lái)表示一秒鐘會(huì)有多少個(gè)時(shí)鐘計(jì)時(shí)單元,因此,我們就可以使用公式clock()/CLOCKS_PER_SEC來(lái)計(jì)算一個(gè)進(jìn)程自身的運(yùn)行時(shí)間。

  下面就上面的知識(shí)給大家舉個(gè)例子幫助大家理解。

      

#include<iostream.h>#include<time.h>void main(){   clock_t start,finish;   double totaltime;   start=clock();  //開始單元數(shù)   ……                     //把你的程序代碼插入到這里面   finish=clock(); //結(jié)束單元數(shù)   totaltime=(double)(finish-start)/CLOCKS_PER_SEC;   cout<<"/n此程序的運(yùn)行時(shí)間為"<<totaltime<<"秒!"<<endl;}  如此這般,我們就可以得出程序的運(yùn)行時(shí)間然后進(jìn)行比較,很簡(jiǎn)單,很方便吧。  可能有人要問(wèn),如果兩個(gè)程序的運(yùn)行時(shí)間都少于一秒,我們根本就感覺(jué)不到,有比較的意義么?回答是有!因?yàn)槲覀儗懙目赡苤皇且粋€(gè)很大的程序中的一個(gè)功能函數(shù),而在主程序中可能會(huì)反復(fù)調(diào)用這個(gè)功能函數(shù),如果一個(gè)功能函數(shù)比另一個(gè)實(shí)現(xiàn)同樣一個(gè)功能函數(shù)運(yùn)行快0.01秒,把這兩個(gè)函數(shù)在主函數(shù)中分別調(diào)用1000次,效果是顯而易見(jiàn)的。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 浮山县| 柘荣县| 诏安县| 客服| 临汾市| 惠来县| 专栏| 桂平市| 隆化县| 通化市| 宁海县| 宿迁市| 山阴县| 高陵县| 长乐市| 辽中县| 黎城县| 滁州市| 伽师县| 桂平市| 延川县| 蒙阴县| 通海县| 双柏县| 阿荣旗| 富川| 台州市| 丹阳市| 广饶县| 德化县| 温泉县| 冕宁县| 太湖县| 乐亭县| 武宁县| 小金县| 洪雅县| 察哈| 磴口县| 察哈| 江城|