Post

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

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

1
2
[clock ] 0.001513
[chrono] 0.00151351
[C] clock
1
2
3
4
5
6
7
8
9
10
11
#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
13
14
15
#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
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.