1. 程式人生 > >C語言--計算程式執行時間

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

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

1. gettimeofday

精度1us

#include<stdio.h>
#include<sys/time.h>

int main()
{
    /* 定義兩個結構體 */
    struct timeval start;
    struct timeval end;
    unsigned long timer;
    /* 程式開始之前計時start */
    gettimeofday(&start, NULL);
    printf("hello world!\n");
    /* 程式塊結束後計時end */
gettimeofday(&end, NULL); /* 統計程式段執行時間(unit is usec)*/ timer = 1000000 * (end.tv_sec - start.tv_sec) + end.tv_usec - start.tv_usec; printf("timer = %ld us\n", timer); return 0; }

輸出結果:

$ ./time
hello world!
timer = 47 us

2. clock

精度能達到1us

#include <stdio.h>
#include <stdlib.h>
#include <time.h> int main() { clock_t begin, end; double cost; //開始記錄 begin = clock(); /*待測試程式段*/ printf("hello world!\n"); //結束記錄 end = clock(); cost = (double)(end - begin)/CLOCKS_PER_SEC; printf("constant CLOCKS_PER_SEC is: %ld, time cost is: %lf secs", CLOCKS_PER_SEC, cost); }

輸出結果

$ ./time 
hello world!
constant CLOCKS_PER_SEC is: 1000000, time cost is: 0.000042 secs

3. time命令

$ time ls
0.00s user 0.00s system 0% cpu 0.001 total

user時間是指程序花費在使用者模式中的CPU時間,這是唯一真正用於執行程序所花費的時間,其他程序和花費阻塞狀態中的時間沒有計算在內。
sys時間是指花費在核心模式中的CPU時間,代表在核心中執系統呼叫所花費的時間,這也是真正由程序使用的CPU時間。
total指程序時間之和。精度1ms

相關推薦

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

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

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

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

C語言計算程式執行時間

#include <stdio.h> #include <stdlib.h> #include <time.h> #define M 10000000 #define N 10 short a[M][N]; void assign_arr

c語言測試程式執行時間

//test time   time.hclock_t start, finish;double Total_time; start = clock();finish = clock();Total_time = (double)(finish-start) / CLOCKS

C語言獲取程式執行時間

所需標頭檔案:"time.h"所需函式:clock函式原型:clock_t __cdecl clock(void);函式介紹:用於獲取程式啟動時間到這次呼叫clock函式的CPU佔用時間其在time檔案裡還有一個巨集叫#define CLOCKS_PER_SEC ((cloc

C語言程式執行時間測量

今天在做一個大資料檔案建立的時候,為了測量建立所用的時間,特意研究了下,windows下時間的獲取 1、55ms解析度的計時: 標頭檔案:#include <windows.h> GetTickCount() 用法: DWORD dwStart = GetTic

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

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

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

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

c++如何計算程式執行時間

方案一: #include<iostream> #include<ctime> using namespace std;   int main() {     clock_t start,finish;     start=clock();    

C語言檢視程式執行時間

clock()函式是獲取當前”時鐘打點數“  返回型別為clock_t 常量CLK_TCK 每毫秒的時鐘打點數 使用的時候 要載入<time.h> 例項:#include<stdio

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.在程式執行結束後獲

C/C++中計算函式執行時間的兩種方法

       在寫程式碼中,有時候我們需要評估某段程式碼或者函式的執行時間;方法就是在該段程式碼或者函式前面,記錄一個時間T1,在程式碼段或函式後面記錄時間T2,那其執行時間就是T2-T1,下面看看具體

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/C++語言測試函式執行時間多種方法詳解

方法一:目前,存在著各種計時函式,一般的處理都是先呼叫計時函式,記下當前時間tstart,然後處理一段程式,再呼叫計時函式,記下處理後的時間tend,再tend和tstart做差,就可以得到程式的執行時間,但是各種計時函式的精度不一樣.下面對各種計時函式,做些簡

scala 計算程式執行時間

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

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

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