Evaluation & Benchmarking#
To evaluate the practical viability of the LIST Filesystem Wrapper (LFW), we analyzed its performance through both theoretical complexity analysis and empirical benchmarking against standard hierarchical filesystems.
Computational Complexity#
The computational overhead of LFW is primarily concentrated in the initialization phase (building the virtual tree) and the per-operation latency of the FUSE layer.
Tree Construction#
The time complexity for building the internal graph structure from the LFW root is modeled as:
Where: * \(N\) is the total number of entries (singletons and bundles) in the LFW root. * \(P\) is the average depth of the directory paths associated with each entry. * \(D\) is the total number of unique directory nodes in the constructed tree.
This complexity arises from a linear scan of all \(N\) metadata files, where for each file, the system must traverse a path of length \(P\) and perform lookups against the existing directory set \(D\) to ensure structural integrity. Space complexity for this structure is \(O(N + D)\).
File Operation Latency#
Once the tree is mounted, the time complexity for standard POSIX operations (read, write, create) is:
The operation cost is dominated by node resolution, where the system traverses the virtual tree from the root to the target leaf node based on the provided virtual path. Once the node is resolved, retrieval of the unique identifier (UUID) and access to the physical file in the LFW root occur in constant time \(O(1)\).
Experimental Results#
We conducted benchmarks simulating real-world filesystem data across three scales: 50,000, 100,000, and 500,000 files.
Metric |
Hierarchical File System |
LFW File System |
|---|---|---|
Total Storage |
214 MB |
404 MB |
Average Read Time |
0.092 ms |
2.333 ms |
Average Write Time |
0.080 ms |
3.413 ms |
Average Create Time |
0.138 ms |
3.876 ms |
Metric |
Hierarchical File System |
LFW File System |
|---|---|---|
Total Storage |
458 MB |
776 MB |
Average Read Time |
0.078 ms |
2.522 ms |
Average Write Time |
0.082 ms |
3.393 ms |
Average Create Time |
0.127 ms |
3.826 ms |
Metric |
Hierarchical File System |
LFW File System |
|---|---|---|
Total Storage |
2.3 GB |
3.9 GB |
Average Read Time |
0.751 ms |
3.524 ms |
Average Write Time |
0.747 ms |
4.435 ms |
Average Create Time |
0.132 ms |
4.209 ms |
Storage Overhead#
Experimental data shows a storage overhead of approximately \(1.7\times\) to \(1.9\times\) compared to native hierarchical storage. This is primarily due to the requirement of the LIST specification to maintain a dedicated metadata file for every atom.
It is important to note that this overhead is disproportionately high in our tests because the sample files were small (100–1000 bytes), making them comparable in size to the metadata files themselves. In real-world scenarios where average file sizes are significantly larger, the percentage of storage dedicated to metadata becomes negligible.
Latency and Scaling#
The per-operation latency in LFW is higher than in native filesystems, with a performance gap ranging from \(5\times\) to \(43\times\). This overhead is attributed to two factors: 1. The FUSE (Filesystem in Userspace) layer, which introduces context-switching overhead between the kernel and userspace. 2. The additional metadata lookup required to resolve immutable IDs.
Interestingly, as the dataset size increases to 500k files, the relative performance gap narrows. While native hierarchical filesystems experience increased latency as the directory tree deepens and search times grow, LFW’s latency grows more moderately, suggesting better scalability for extremely large, flat-stored collections.