程式執行時間

include chrono

#include <chrono>

執行的程式碼,放入要計算執行效率的程式

1
2
3
4
5
6
7
8
9
10
11
12
  //start 計時開始
  //end 計時結束
  std::chrono::steady_clock::time_point start,end;
  //dt 時間差
  std::chrono::nanoseconds dt;
  start = chrono::steady_clock::now(); 
  for(int i = 0;i < 100000;i++) {
    執行的程式碼
  }   
  end = chrono::steady_clock::now();
  dt = end - start;
  cout << "執行" << (double)dt.count()/(1000 * 1000 * 1000) << "秒" << endl;  

完整程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <chrono>
using namespace std;
//參數2因為是常數字串,所以型態為const char*
char* myStrCpy(char* dest,const char* src) {
  memcpy(dest, src, strlen(src) + 1);
  return dest;
}
int main() {
  //start 計時開始
  //end 計時結束
  std::chrono::steady_clock::time_point start,end;
  //dt 時間差
  std::chrono::nanoseconds dt;
  char name[20];
  //清空陣列記憶體中的值
  memset(name, 0, sizeof(name));
  //開始計時
  start = chrono::steady_clock::now();
  for(int i = 0;i < 10000;i++) {
    myStrCpy(name, "Bill");
  }
  end = chrono::steady_clock::now();
  dt = end - start;
  cout << "執行" << (double)dt.count()/(1000 * 1000 * 1000) << "秒" << endl;
  
  cout << "name = " << name << endl;
  return 0;
}

results matching ""

    No results matching ""