次の単純なプログラムは100x
、 に向けた方が高速です/dev/null
。
#include <stdio.h>
int main(int argc, char **argv)
{
for (int i=0;i<10000000;i++) { printf("%d\n",i); }
return 0;
}
スピードアップがどこから来たのかを正確に知るにはどうすればよいですか?
$ gcc -O0 main.c -o main
$ ./main
$ ./main >/dev/null
$ ./main > output.txt
EDIT : ファイルへのリダイレクトも100x
高速です。他のファイル/dev/null
とまったく同じだと思いますか?