c - C中的文件大小查找

标签 c unix

我想知道与 fseek() 和 ftell() 相比,使用 sys/stat.h 是否有任何显着的性能提升?

最佳答案

fstat()fseek()/ftell() 组合之间进行选择,不会有太大区别。单函数调用应该比双函数调用稍微快一些,但差别不会很大。

stat() 和组合之间进行选择并不是一个非常公平的比较。对于组合调用,艰苦的工作是在打开文件时完成的,因此 inode 信息很容易获得。 stat() 调用必须解析文件路径,然后报​​告它找到的内容。它应该几乎总是更慢 - 除非你最近打开了文件,所以内核缓存了大部分信息。即便如此,stat() 所需的路径名查找可能会使其比组合慢。

关于c - C中的文件大小查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907162/

相关文章:

linux - 对带有空列的管道分隔文件进行排序

c - 冒泡排序 C 语言帮助。来自源代码的基于行的问题

c - 超线程对 gettimeofday 和其他时间测量的影响

将变量转换为 int vs round() 函数

c - 我需要帮助来理解这段关于结构和指针的代码

sockets - unix系统中的echo.sock是什么?

c - 为什么 scanf 需要两个数字?

linux - Bash 对 CSV 大文件进行排序并将输出排序到单独的文件

linux - cygwin 和 cygcheck

regex - 从查找搜索中排除未知数量的多个目录 (Unix)