我正在使用“fwrite(
)”号功能,将数据写给一个关于持久性有机污染物的管道。
较早时,fwrite(
>)被多次要求小型数据库(平均20英特)和缓冲被留到fwrite(
> 。
它指出,这一写作过程是我的节目中的瓶颈。 因此,我决定将我的代码中的数据作为64KB的区块,然后在使用<代码>fwrite(<>时全文书写。 I used setvbuf()
to set the FILE* pointer to No Buffering .
业绩改善并不像我所期望的那样显著。
更为重要的是,<代码>strace输出显示,数据目前仍由tes撰写。 请允许我向我解释这一行为吗? 如果我打电话到fwrite(
)和64KB号数据,那么为什么在某个时候只用tes写4096条?
是否有替代<条码>fwrite()的替代品,以使用FLE*点子向管道发送数据?