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/

10-11 07:58