ということで、バッファリング無の場合のCのものを実行してみよう。
#includeint main(void) { int i; FILE *out; const char buf[] = "Hello world!\n"; out = fopen("c_log.txt", "w"); setbuf(out, NULL); for(i = 0; i < 10000000; ++i)fputs(buf, out); fclose(out); return (0); }
結果は、以下のようになった。
20:25:11 20:25:27 20:25:43 20:25:59 20:26:14 20:26:31
最適化の有無にかかわらず、約16秒という感じである。
バッファリングした場合には約5秒であるから、約3倍遅い。
つまりCの場合でも、バッファリングは効果的である。