【发布时间】:2012-05-20 19:54:34
【问题描述】:
对于 fwrite() 中两个参数 'size' 和 'count' 的用途,似乎存在很多混淆。我正在尝试找出哪个会更快 -
fwrite(source, 1, 50000, destination);
或
fwrite(source, 50000, 1, destination);
这是我代码中的一个重要决定,因为该命令将被执行数百万次。
现在,我可以直接跳到测试并使用结果更好的那个,但问题是代码适用于许多平台。
所以,
我怎样才能得到一个明确的答案,哪个跨平台更好?
fwrite() 的实现逻辑会因平台而异吗?
我知道有类似的问题(What is the rationale for fread/fwrite taking size and count as arguments?、Performance of fwrite and write size),但请理解这是关于同一问题的不同问题。在这种情况下,类似问题的答案是不够的。
【问题讨论】:
-
我只是在OS-X上做了一些测试,写了10个100MB的文件,参数顺序没有区别,或者用write(2)代替fwrite。至于其他平台,我就不好说了。
标签: c performance io fwrite