python:os.path.exists与ext4文件系统的复杂性?
作者:互联网
有没有人知道os.path.exists函数的复杂性是在python中使用ext4文件系统?
解决方法:
Ext4(和Ext3)使用的底层目录结构与Ext2中的完全相同. Ext3增加了日志功能,Ext4改进了日志功能.日记与您的问题无关.
最初Ext2用于将其存储为列表,但这对于大型目录来说当然是低效的.所以它已被改为调整版本的B树,称为HTree.与标准B树不同,HTree具有恒定深度并且每个节点使用哈希映射,因此它的查找复杂度为O(1).
Ext2’s scheme, which we dubbed
“HTree”, uses 32-bit hashes for keys,
where each hash key references a range
of entries stored in a leaf block.
Since internal nodes are only 8 bytes,
HTrees have a very high fanout factor
(over 500 blocks can be referenced
using a 4K index block), two levels of
index nodes are sufficient to support
over 16 million 52-character
filenames. To further simplify the
implementation, HTrees are constant
depth (either one or two levels). The
combination of the high fanout factor
and the use of a hash of the filename,
plus a filesystem-specific secret to
serve as the search key for the HTree,
avoids the need for the implementation
to do balancing operations.
见:http://ext2.sourceforge.net/2005-ols/paper-html/node3.html
标签:python,linux,complexity-theory,ext4 来源: https://codeday.me/bug/20190827/1735514.html