stat()
系统调用真的很昂贵吗?我在某处读到它是使用昂贵的系统调用。真假的啊?如果是这样,还有其他选择吗?
最佳答案
在典型设置中,stat(2)
,fstat(2)
和lstat(2)
是获取文件信息的唯一明智的技术。如果您发现性能问题,那么值得分析您的应用程序并查看会发生什么。
要进行概要分析,请使用gcc -pg
进行编译,并使用gprof(1)
运行可执行文件。
您可能会切换到使用更大的库(例如Qt),但这不会解决任何性能问题,并且无论如何它们都可能会使用stat(2)
。
因此,不管它是否昂贵,都没有合理的选择。
话虽如此,正如吉姆·麦克纳马拉(Jim Mcnamara)的评论那样,由于这些原因,它并不昂贵。由于没有其他选择,因此glibc和linux程序员已使其表现得尽可能好。
关于c - stat()是昂贵的系统调用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17149668/