gpt4 book ai didi

performance - 使用 FILE_FLAG_NO_BUFFERING 会返回明显的速度增益吗?

转载 作者:行者123 更新时间:2023-12-04 03:02:48 31 4
gpt4 key购买 nike

最近在 MSDN 中注意到 FILE_FLAG_NO_BUFFERING 标志的详细描述,并阅读了几个关于 Windows 中无缓冲 I/O 的 Google 搜索结果。

http://msdn.microsoft.com/en-us/library/aa363858(v=vs.85).aspx

我现在想知道,在文件 I/O 编程中考虑无缓冲选项真的很重要吗?因为许多程序使用普通的旧 C 流 I/O 或 C++ iostream,所以我之前没有注意 FILE_FLAG_NO_BUFFERING 标志。

假设我们正在开发像 Picasa 这样的照片浏览器程序。如果我们实现无缓冲 I/O,缩略图显示速度是否会在普通用户中表现出明显的差异?

最佳答案

哦主不。您可以通过使用该标志使其速度显着变慢。它绕过了文件系统缓存,这是一段美妙的代码,可以以几乎通灵的准确度猜测您在读取 ​​N 后是否想要读取扇区 N+1。如果价格便宜,只需预加载它。

这对写作尤其不利,这就是该选项存在的原因,您不会得到懒惰的回写。这意味着您的程序只能以磁盘写入的速度运行。这是非常非常缓慢的。标志的优点是您可以确定它已被写入。帮助实现事务性磁盘更新,这是 dbase 引擎关心的类型。

但是你自己试试看效果。

关于performance - 使用 FILE_FLAG_NO_BUFFERING 会返回明显的速度增益吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574996/

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