1. 程式人生 > >Window系統下C/C++程式毫秒級和微秒級執行時間獲取方法

Window系統下C/C++程式毫秒級和微秒級執行時間獲取方法

一、使用clock()函式,獲取毫秒級(ms)時間[1]

#include <time.h>//clock()標頭檔案

time_t start = clock();

  {statement section}//測試程式碼段

time_t end = clock();

printf("the running time is:%fs\n", double(end -start)/CLOCKS_PER_SEC); //秒

二、基於CPU級的方法,獲取微秒級(us)時間[2,3]

#include<windows.h>

#include<stdio.h>

LARGE_INTEGERR nFreq;

LARGE_INTEGER t1;

LARGE_INTEGER t2;

double dt;

QueryPerformanceFrequency(&nFreq);

QueryPerformanceCounter(&t1);

 {statementsection}//測試程式碼段

QueryPerformanceCounter(&t2);

dt =(t2.QuadPart -t1.QuadPart)/(double)nFreq.QuadPart;

cout<<"Running time:"<<dt*1000<<"ms"<<endl;//dt結果乘以1000,將顯示時間調整到ms級別顯示,乘以1000000,將顯示時間調整到us級別顯示

備註:可以在程式碼段新增Sleep()函式測試,如下兩個測試例項。

例1:500ms,ms級時間獲取

#include <time.h>//clock()標頭檔案

time_t start = clock();

  Sleep(500);//500ms

time_t end = clock();

printf("the running time is:%fms\n", double(end -start));

 執行結果,如下:

the running time is :501.000000ms

例2: 5ms測試,us時間獲取

#include<windows.h>// QueryPerformanceFrequency,QueryPerformanceCounter標頭檔案

#include<stdio.h>

LARGE_INTEGER  nFreq,t1,t2;

double dt;

QueryPerformanceFrequency(&nFreq);

QueryPerformanceCounter(&t1);

Sleep(5);//5ms,其中1ms=1000us

QueryPerformanceCounter(&t2);

 dt =(t2.QuadPart - t1.QuadPart)/(double)nFreq.QuadPart;

cout<<"Running time :"<<dt*1000000<<"us"<<endl;

 執行結果,如下:

Running time : 5162.22us

參考:

[1] http://blog.sina.com.cn/s/blog_71a211bf0101mugn.html

[2] http://blog.sina.com.cn/s/blog_9700e68d0100wfh4.html

[3] http://www.cppblog.com/deane/articles/113151.html

相關推薦

Window系統C/C++程式毫秒微秒執行時間獲取方法

一、使用clock()函式,獲取毫秒級(ms)時間[1] #include <time.h>//clock()標頭檔案 time_t start = clock();   {statement section}//測試程式碼段 time_t end = clo

Ubuntu 系統進行C++程式的編輯 編譯 執行

前言 為了搞個Linux我容易嗎? 工具 安裝了Ubuntu的電腦一臺 博主是在虛擬機器上安裝的Ubuntu 版本是 16.04 LTS 準備 開始先檢測一下自己的ubuntu中是否安裝了gcc 方法:在終端中輸入which gcc,如果

Linux系統除錯 C語言程式(使用gdb)

問題描述:Linux 系統下用C語言寫 的指令碼程式,程式執行時出現未知錯誤需要除錯找出問題所在地。(阿里雲Ubuntu系統的伺服器)。 解決方法:使用 gdb工具在終端視窗中除錯 C檔案。 具體方法: (1)安裝 gdb  sudo apt-get install

在樹莓派linux系統c程式

本文主要介紹如何在樹莓派(ubuntu mate系統)下寫第一個c程式。 兩種方式:一是emacs;二是vi。 一、用emacs寫c程式 1 :開啟終端,輸入 emacs hello-em-w

ghost系統C#獲取時間帶星期幾的解決辦法

cmd   regedit開啟登錄檔,進入到[HKEY_USERS\.DEFAULT\Control Panel\International]  ,然後1、將鍵 sDate 的值由 / 改為 -&nb

sublime在linux系統編譯C++的sublime.build檔案

{     "shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\"",     "file_rege

Tensorflow之編譯window平臺基於c/c++使用tensorflow

最近在考慮將tensorflow的工程遷移到window平臺下進行,由於linux和mac平臺在官網上有對應的c/c++介面的安裝說明,而window平臺則需要自己編譯。所以現將編譯過程記錄如下: 一、環境準備 1. vs2015 2. swigwin-3.0.12。下載連結為&nb

安卓系統C語言設定系統時間

#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #

C語言中的一個*[]優先問題

pre 執行 return ges spa 技術 分享 malloc bsp 最近寫著玩了這麽一段代碼 1 int Init(int **T, int v1, int v2, int v3) 2 { 3 4 if (!(*T=(int*) malloc(3*

記錄Window系統myeclipes連接linuxmysql所出現的一個bug

給賬號 onf flush 問題 info drive strong user BE 記錄myeclipes遠程連接mysql所出現的一個bug 今天在玩框架hibernate時,出現一個非常費解的bug,話不多說,先看bug Access denied for

Window系統用Ant實現Java項目的自動構建部署

echo 驗證 TP 地址 apach ava build 部署 系統環境變量 Step 1: 從官網下載Ant包,官網地址http://ant.apache.org/ Step 2: 解壓好了,去配置用戶自定義環境變量【或者系統環境變量】 Step 3:驗證一下自己環境是

Window系統安裝Redis

下載Redis Redis官網只提供Linux版本,Windows版本只能去GitHub上下載 Redis官網下載地址:http://redis.io/download GitHub下載地址:https://github.com/MSOpenTech/redis/tags 安裝Redis 建立r

ESP32的SDK開發之window系統eclipse開發環境搭建

在window系統下可以依託eclipse的環境開發ESP32 eclipse下載地址:下載Eclipse IDE for C/C++ Developers版本的 64位:點這裡 32位:點這裡 環境JDK下載地址 64位:點這裡 32位:點這裡 安裝好eclipse開啟報錯的話,就需要配置

Window系統Kafka視覺化管理工具Kafka-manager的安裝與配置

一.準備工具 已編譯好的Kafka-manager安裝壓縮包(下載) 二.操作步驟     1.解壓縮安裝包,最好跟之前的Kafka包,Zookeeper包在同一目錄下,這樣方便修改管理.     2.修改D:\KafkaTo

Window 系統 phpStudy nginx配置虛擬主機

#  power by www.php.cn #user  nobody; worker_processes  1; #error_log  logs/error.log; #error_log  logs/error.log  not

Window系統的Maven3.3.9安裝

前提條件: windows下安裝好jdk1.8 安裝Maven步驟: 變數名填入:M2_HOME 變數值填入:Maven解壓的路徑,我這裡是D:\soft\apache-maven-3.3.9 點選確定 再點選新建 變數名填入:MAVEN_HOME 變

window系統獲取當前使用者目錄

在很多情況下我們需要獲取當前使用者目錄來操作檔案,我這邊的使用環境是批處理在不同電腦上執行,需要獲取當前使用者目錄下檔案來操作。 通過環境變數%USERPROFILE%就可以獲取了 在cmd下輸入echo %USERPROFILE%可以檢視當前系統使用者目錄 這邊列舉一些其他常用的獲取系統路徑

window 系統開啟 .ssh 檔案

學 git 遇到這個問題, 視訊中都是 蘋果系統的 直接open filename 即可. 我想了想,好像有時候開啟檔案直接cmd輸入名字就好了.抱著試一試的態度, 我 win + R 輸入了 .ssh

NodeJS | window系統NodeJSnpm的更新

導讀:本著zhuangbility的心,去找了一下命令列更新NodeJS的方法,然而並沒有什麼用,去官網下最快。(本文在window 8.1的系統下實驗的) 1、去 NodeJS官網 下載你想要的版本

C#/WPF程式實現軟體開機自動啟動的兩種方法

C#/WPF程式實現軟體開機自動啟動的兩種方法 方法一:將軟體的快捷方式建立到計算機的自動啟動目錄下(不需要管理員許可權) 1.必要引用 using System; using System.Collections.Generic; using System.Linq; using Sy