首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QFile seek性能

QFile seek性能
EN

Stack Overflow用户
提问于 2011-05-30 08:49:34
回答 1查看 2K关注 0票数 3

在处理常规文件(不是特殊的Linux /O设备文件)时,QFile似乎是随机访问的,这意味着查找操作具有固定时间复杂度O(1)。

然而,我还不能确认这一点。通常,当跳转到文件中的特定位置(用于写入或读取)时,std::fstreamQFile是否提供恒定时间运行时间复杂性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-30 08:57:57

简而言之,答案是“是的,出于实际目的”。长长的答案是..。很复杂哦。

在文件流上查找最终会调用底层文件描述符上的lseek(),其性能取决于内核。

运行时间将取决于您使用的文件系统以及文件的大小。随着文件变得越来越大,随机寻道需要追逐更多级别的“间接”索引块。但是,即使对于最大2^64字节的文件,级别的数量也是屈指可数的。

因此,在理论上,查找可能是O(log );但在实践中,对于现代文件系统,它本质上是常量。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6171403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档