소스상으로는 "%d "와 "%d\n"으로
1바이트 차이일텐데... 이상하게 cpu 사용률이 다르게 나온다.
$ cat sp.c #include <stdio.h> #include <omp.h> int main(int argc, char **argv) { int a = 0; for(;;) { a++; // printf("%d ",a); printf("%d\n",a); } return 0; } |
물론. -fopenmp의 영향은 받지 않는다.
$ gcc -fopenmp -o b.out sp.c |
printf("%d ",a);
를 활성화
printf("%d\n",a);
를 활성화
fflush(stdout);
을 추가해서 해보니 비슷하게 나온다... printf()가 bufferd output인데
\n에서 강제로 fflush하게 하는건가..
[링크 : http://stackoverflow.com/.../why-does-stdout-need-explicit-flushing-when-redirected-to-file]
'Programming > C Win32 MFC' 카테고리의 다른 글
가변 매크로 __VA_ARGS__ (0) | 2016.03.18 |
---|---|
#import ? (0) | 2015.12.21 |
rand()와 RAND_MAX (0) | 2015.10.05 |
Cppcheck (0) | 2015.09.30 |
void형 포인터 ++ (0) | 2015.07.14 |