[C/C++] clock : 수행 시간 측정 / logging : 에러 출력
clock과 chrono의 초단위 정밀도 차이
```c
[clock ] 0.001513
[chrono] 0.00151351
```
[C] clock
```c
#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
```cpp
#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;
}
```
에러 출력
```c
if (aaaa < 2) {
fprintf(stderr, "[*] error");
return -1;
}
```
``c printf()``는 라인 캐싱, 버퍼 캐싱 하기 때문에 ``c fprintf()``를 쓰는게 낫고,
그 보다는 그냥 google logging library를 쓰는게 좋다.
https://github.com/google/glog
'Languages & Frameworks > C C++' 카테고리의 다른 글
[C++] 맵 : unordered_map (hash_map) (2) | 2018.08.20 |
---|---|
[C++] directory listing (traversal) (0) | 2018.08.10 |
[C++] File IO : <ifstream> 과 pubsetbuf() (0) | 2018.08.03 |
[C/C++]의 동적 할당과 Memory leak (0) | 2018.06.11 |
[C] system V IPC (0) | 2017.11.10 |