我想知道与 fseek() 和 ftell() 相比,使用 sys/stat.h 是否有任何显着的性能提升?
最佳答案
在 fstat()
和 fseek()/ftell()
组合之间进行选择,不会有太大区别。单函数调用应该比双函数调用稍微快一些,但差别不会很大。
在 stat()
和组合之间进行选择并不是一个非常公平的比较。对于组合调用,艰苦的工作是在打开文件时完成的,因此 inode 信息很容易获得。 stat()
调用必须解析文件路径,然后报告它找到的内容。它应该几乎总是更慢 - 除非你最近打开了文件,所以内核缓存了大部分信息。即便如此,stat()
所需的路径名查找可能会使其比组合慢。
关于c - C中的文件大小查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907162/