我将选择在每次写入文件后使用 FlushFileBuffers 或每次需要打开同一个文件时使用 FILE_FLAG_NO_BUFFFERING 。
但我没有找到任何关于使用一个或另一个选项的性能比较表。好吧,除了这个建议in MSDN http://msdn.microsoft.com/en-us/library/aa364439%28VS.85%29.aspx:
如果应用程序正在对磁盘执行多次写入并且还需要
为了确保关键数据写入持久介质,
应用程序应使用无缓冲 I/O,而不是频繁调用
刷新文件缓冲区。要打开无缓冲 I/O 的文件,请调用
带有 FILE_FLAG_NO_BUFFERING 的 CreateFile 函数和
FILE_FLAG_WRITE_THROUGH 标志。这可以防止文件内容
被缓存并在每次写入时将元数据刷新到磁盘。
所以我假设:对于要多次写入和读取的应用程序,最好不要使用 FlushFileBuffers。但是有没有关于它们的使用的比较文章、博客、论坛帖子?如果文件在写入后关闭?我的 google-fu 还没有得到任何东西。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)