gpt4 book ai didi

c - 将大量字符串发送到标准输出的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-30 19:47:35 26 4
gpt4 key购买 nike

我有一个函数,它返回指向包含 4 个字符的 char 的指针。

char *foo(unsigned short n)
{
return "abc\n";
}

现在我运行它 100 000 次并将结果发送到标准输出。而且必须以尽可能最快的方式完成。
在不写入的情况下运行此函数 100 000 次大约需要 0.45 秒。
我尝试过的:

  • 打印
    ... 
printf("%s", foo(n));
...

~6.5s

  • 写入
    ...
fwrite(foo(n), 4, 1, stdout);
...

~9.9s

  • strncat 到缓冲区和 fwrite
    char buffer[400001] = "";
...
strncat(buffer, foo(n), 4);
...
fwrite(buffer, 400000, 1, stdout);

~7s

有办法让它更快吗?我希望至少低于 5 秒。

最佳答案

根据您的善意评论,我做了一些更多的测试,结果是 fputs() 是最快的。 > out.txt 约为 0.45 秒,> NUL 约为 0.61 秒。所以事实证明控制台输出减慢了一切。

关于c - 将大量字符串发送到标准输出的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com