我有一个函数返回指向包含4个字符的char的指针。
char *foo(unsigned short n)
{
return "abc\n";
}
现在我运行了10万次,然后将结果发送到stdout。它必须尽可能以最快的方式完成 在没有书写的情况下运行此功能10万次大约需要0.45秒 我尝试了什么:
...
printf("%s", foo(n));
...
~6.5s
...
fwrite(foo(n), 4, 1, stdout);
...
~9.9s
char buffer[400001] = "";
...
strncat(buffer, foo(n), 4);
...
fwrite(buffer, 400000, 1, stdout);
~7s
有没有办法让它更快?我想至少低于5s。
答案 0 :(得分:0)
根据您的好评,我做了一些测试,我带来的是fputs()
是最快的。 > out.txt
为~0.45,> NUL
为〜0.61。事实证明,控制台输出正在减慢一切。