2016-01-15 29 views
0

我正在FastCGI运行apache2,并希望做一个写系统调用。 Printf的作品,但我正在寻找写作来优化。这可能吗?关于这个话题的fastcgi文档和其他一些问题表明,除了使用printf之外,你不应该把它写到标准输出中,但是我还没有看到任何人明确地说过。此外,fastcgi开发工具包代码确实有用于STDOUT,STDERR和STDIN的#defines。我认为这应该是可能的,但没有看到任何人这样做。FastCGI写系统调用标准输出(c)

+1

由于IO开销限制了速度,'write'不会比'printf'快得多。你想达到什么目的? – fuz

+0

我同意FUZxxl。我认为一个挑战会产生足够的数据,以便在开始被网络带宽阻塞之前做出任何可测量的差异。但它可能是一个有趣的实验。在开始调用write()之前调用ffush(stdout),以防stdio缓冲区中包含任何内容。你将如何衡量和衡量差异? – jamieguinan

+0

只是为了澄清:这是专门用于性能测试,所以printf vs write可能实际上很重要。 “生成足够的数据”将被照顾,你们不用担心这个问题;) – dashingrogue

回答

1

继很多测试和搜索互联网后,我相信这解决了我的问题。 FCGI_fwrite(str, sizeof(char), strlen(str), stdout);

只要调用write不起作用,并使用FCGI_stdout文件描述符也不起作用。