Post

(C/C++) clock - 수행 시간 측정 / logging - 에러 출력

clock과 chrono의 초단위 정밀도 차이

1
2
3
[clock ] 0.001513
[chrono] 0.00151351

[C] clock
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <time.h>
int main(int argc, char \*argv[]) {

clock\_t begin, end;

begin = clock();




// processing

  


end = clock();

printf("[\*] processing time : %lf\n", (double)(end - begin) / CLOCKS\_PER\_SEC);

return 0;
}

[C++] chrono
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <chrono>
#include <ctime>
#include <time.h>
int main() {
auto start = std::chrono::system\_clock::now();
// processing
auto end = std::chrono::system\_clock::now();
std::chrono::duration<double> elapsed\_seconds = end - start;
std::cout << elapsed\_seconds.count() << std::endl;
}

에러 출력

1
2
3
4
5
6
7
if (aaaa < 2) {

fprintf(stderr, "[\*] error");

return -1;
}

printf()는 라인 캐싱, 버퍼 캐싱 하기 때문에 fprintf()를 쓰는게 낫고, 그 보다는 그냥 google logging library를 쓰는게 좋다.

https://github.com/google/glog

This post is licensed under CC BY 4.0 by the author.