You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Introduce a hash-based mechanism to speed up file creation and lookup
operations. The hash function enables faster access to extent and logical
block extent index, improving overall filesystem performance.
hash_code = file_hash(file_name);
extent index = hash_code / SIMPLEFS_MAX_BLOCKS_PER_EXTENT
block index = hash_code % SIMPLEFS_MAX_BLOCKS_PER_EXTENT;
Use perf to measure:
1. File Creation (random)
Legacy:
259.842753513 seconds time elapsed
23.000247000 seconds user
150.380145000 seconds sys
fnv1a:
172.464862354 seconds time elapsed
16.456851000 seconds user
117.377930000 seconds sys
full_name_hash:
222.274028604 seconds time elapsed
20.794966000 seconds user
151.941876000 seconds sys
hash64:
210.738022828 seconds time elapsed
20.578577000 seconds user
138.393533000 seconds sys
2. File Listing (random)
Legacy:
min time: 0.00171 s
max time: 0.03799 s
avg time: 0.00423332 s
tot time: 129.539510 s
fnv1a:
min time: 0.00163 s
max time: 0.07574 s
avg time: 0.00247343 s
tot time: 75.686920 s
full_name_hash:
min time: 0.00171 s
max time: 0.03588 s
avg time: 0.00305601 s
tot time: 93.514040 s
hash64:
min time: 0.00167 s
max time: 0.07705 s
avg time: 0.00261552 s
tot time: 80.034760 s
3. files Removal (Random)
Legacy :
106.921706288 seconds time elapsed
16.987883000 seconds user
91.268661000 seconds sys
fnv1a:
94.012202913 seconds time elapsed
20.617263000 seconds user
73.219170000 seconds sys
full_name_hash:
86.132655220 seconds time elapsed
19.180209000 seconds user
68.476075000 seconds sys
hash64:
85.684199320 seconds time elapsed
16.643633000 seconds user
70.499664000 seconds sys
0 commit comments