答案1
延迟最简单的例子是,显然,列出整个目录的时间会随着目录的大小而变化。
其次,根据文件系统设置,ext4 使用链接列表或散列 B 树进行目录查找。您只需查看这两种数据结构的工作原理,即可了解错误配置可能造成的差异。简而言之,链接列表非常慢,只适用于小型目录,而散列速度更快,更适合大型目录。
处理链表意味着遍历列表中的每个项目,因为大多数时候,只有项目 n-1 知道项目 n 在哪里,因此您必须先读取项目 n。
处理哈希树涉及在内存中计算一个数字,并根据该数字直接跳转到详细信息。虽然对于大型目录,可能需要执行几次此操作,但这比处理每个节点要快得多。
无论如何,如果你真的想了解细节,所有的文档都可以在网上找到。例如,你可以从这里开始:https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Hash_Tree_Directories