我不知道我在这方面是对还是错,但根据常识,command file
会比 command dir/快稍微文件
或 命令 dir1/.../dirN/file
。
现在,假设这是真的,让我们考虑涉及处理大量目录中的大量文件的脚本和命令(例如编译您的 gentoo 内核)。如果脚本或程序足够智能,可以 cd
进入包含大量文件的目录,是否会提高性能?
在我看来,不再遵循这些指针数百或数千次所节省的时间可能会弥补 cd 进出目录所花费的时间。
现在我问我的问题:
- 是否有可能提高性能?
- 如果是,如何进行基准测试?
- 如果可以进行基准测试,那么一个目录中必须有多少文件才能使
cd
进出该目录所花费的时间达到收支平衡? - 这是否也会影响 Java、PHP、Python 等的文件操作?
最佳答案
如果您执行 chdir,您将查找该目录并创建一个 dentry。以后对 dir/file 的调用应该已经有目录的目录。同样,如果您访问 dir/file1 和 dir/file2.... dir/fileN,则对 dir 的查找应该只发生一次。因此,我怀疑是否有性能提升。 'Make' 可能出于其他原因执行 chdir。
关于linux - IO 操作 - 为什么不 cd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15319727/