1. 程式人生 > >C語言程式設計 計算程式執行時間 精確到微秒

C語言程式設計 計算程式執行時間 精確到微秒

在開發過程中有時候需要計算一段程式碼執行所消耗的時間 ,使用函式gettimeofday就可以實現,並且可以精確到毫秒

gettimeofday函式原型為:      int gettimeofday(struct timeval *tv, struct timezone *tz);

需要包含的標頭檔案:#include <sys/time.h>

入參:

1、入參tv : 它是 結構體struct timeval (在<sys/time.h>定義) ,詳細結構為

           struct timeval {
               time_t      tv_sec;     /* 秒 */
               suseconds_t tv_usec;    /* 微秒 */
           };

結構體定time_t定義在標頭檔案<time.h>中,typedef long     time_t;    /* 時間值time_t 為長整型的別名*/

結構體suseconds_t 定義是也是:      long

2、入參tz:該引數已經廢棄 ,填入NULL即可

貼一段程式碼:

#define SECOND_TO_MRCROSECOND          (1000000)

    struct timeval tStart,tEnd;    //駝峰命令,變數儲存程式開始時間,和結束時間     
    float timeElapse;                 //變數儲存程式耗費時間


    gettimeofday(&tStart,NULL);  //記錄程式開始時間

// 插入需要計算時間的程式碼


        
    gettimeofday(&tEnd,NULL);    // 記錄程式結束時間


    timeElapse = tEnd.tv_usec-tStart.tv_usec + SECOND_TO_MRCROSECOND*(tEnd.tv_sec-tStart.tv_sec);    // 以微秒來計數
  


    printf("Function Elapse Time:%f s\n",timeElapse/ SECOND_TO_MRCROSECOND);  //

相關推薦

C語言程式設計 計算程式執行時間 精確微秒

在開發過程中有時候需要計算一段程式碼執行所消耗的時間 ,使用函式gettimeofday就可以實現,並且可以精確到毫秒 gettimeofday函式原型為:      int gettimeofday(struct timeval *tv, struct timezone

C語言如何計算演算法執行時間

C/C++中的計時函式是clock(),而與其相關的資料型別是clock_t。在MSDN中,查得對clock函式定義如下: clock_t clock( void ); 這個函式返回從“開啟這個程式程序”到“程式中

C語言--計算程式執行時間

C語言–計算程式執行時間 1. gettimeofday 精度1us #include<stdio.h> #include<sys/time.h> int main(

C語言如何 計算程式執行時間?

C/C++中的計時函式是clock(),而與其相關的資料型別是clock_t。在MSDN中,查得對clock函式定義如下: clock_t clock( void ); 這個函式返回從“開啟這個程式程序”到“程式中呼叫clock()函式”時之間的CPU時鐘計時單元(cl

linux下的C語言計算程式執行時間

本文從介紹基礎概念入手,探討了在C/C++中對日期和時間操作所用到的資料結構和函式,並對計時、時間的獲取、時間的計算和顯示格式等方面進行了闡述。本文還通過大量的例項向你展示了time.h標頭檔案中宣告的各種函式和資料結構的詳細使用方法。  關鍵字:UTC(世界標準時間

C/C++中如何計算程式執行時間

來自 http://www.cnblogs.com/zhiqiangliu/p/4904365.html #include<iostream.h> #include<time.h>void main(){   clock_t start,finish

Go語言如何計算程式執行時間效率,獲取時間差

main.go package main import ( "fmt" "time" ) func main() { temp := 0 t1 := time.

c++中常用的計算程式執行時間的方法

方法1: 計時函式是clock(),而與其相關的資料型別是clock_t(標頭檔案是time.h)。函式定義原型為:clock_t clock(void); 這個函式返回從“開啟這個程式程序”到“程式中呼叫clock()函式”時之間的CPU時鐘計時單元(clock t

Java 計算程式執行時間

第一種 以ms為單位 long startTime = System.currentTimeMillis(); //獲取開始時間的時間戳 /*中間為要計算執行時間的程式碼段*/ long endTime = System.currentTimeMillis

用隨機數實現插入排序演算法,並計算程式執行時間

插入排序 插入排序演算法是一種就地演算法(空間用量是一個常數) 我們希望排序的數也稱為關鍵詞(key),也就是說對一系列 key 進行排序。 輸入是以一個陣列表示的。 相對於歸併排序來說,該演算法對小規模資料的效率比較高。 插入排序演算法思想: 每

Python版計算程式執行時間

我以前在C語言中介紹過計算程式執行時間的方法,該計算方法容易理解,具體步驟如下: 1.在程式開始執行前獲取當前的時間,並且記錄該時間 2.執行某個程式,以便統計該程式的執行時間 3.在程式執行結束後獲

python計算程式執行時間

內建模組time包含很多與時間相關函式。我們可通過它獲得當前的時間和格式化時間輸出。 time(),以浮點形式返回自Linux新世紀以來經過的秒數。在linux中,00:00:00 UTC, January 1, 1970是新**49**的開始。 import time start = time.c

php 簡單計算程式執行時間

計算程式執行時間: 首先了解下 microtime 這個函式: microtime() 函式返回當前 Unix 時間戳和微秒數。 語法: microtime(get_as_float) 引數: get_as_float 描述:

C語言 日誌輸出 測試執行時間(Windows、Linux平臺)

做嵌入式開發,Debug移植是比較頭疼的問題。當我們需要測試程式執行時間,輸出變數的值以用來除錯時非常不方便,雖然linux中有gdb,Windows中有vs可進行除錯。但在部分場景下,還是需要進行日誌輸出較為方便。為此,本人將本人在嵌入式開發過程中使用較多的日

c# asp.net 測試程式執行時間

using System.Diagnostics; System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 開始監視程式碼執行時間 //要測試的程式碼寫這裡

scala 計算程式執行時間

import java.util.Date object timetest { def main(args: Array[String]): Unit = { var start_time

VC++ 獲取系統時間程式執行時間(精確到秒,毫秒)的五種方法

1.使用CTime類(獲取系統當前時間,精確到秒) CString str; //獲取系統時間 CTime tm; tm=CTime::GetCurrentTime();//獲取系統日期 str=tm.Format("現在時間是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK

linux/ubuntu計算程式執行時間方法

C/C++中的計時函式是clock(),而與其相關的資料型別是clock_t。在MSDN中,查得對clock函式定義如下: clock_t clock( void ); 這個函式返回從“開啟這個程式程序”到“程式中呼叫clock()函式”時之間的CPU時鐘計時單元(

在go語言中統計程式執行時間

package main import ("fmt";"time"); func main() { //記錄開始時間 start := time.Nanoseconds() //計算過程 sum := 0 for i := 0; i <= 100

opencv:計算程式執行時間

//注意新增標頭檔案 #include  <cv.h> using namespace std; double t = (double)cvGetTickCount(); //。。。。。。演算法或程式程式碼 t = (double)cvGetTickC