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
Spawned from ipfs/go-unixfs#106. As explained there, WalkDepth does a BFS when called with the concurrent option, which is what we do in the HAMT when enumerating all links ((*Shard).EnumLinksAsync()).
Depending on the distribution of the shards in the HAMT this might mean that we will unnecessarily fetch more nodes/shards than we need to. This is currently exemplified in the test in ipfs/go-unixfs#106:
we traverse a complete HAMT to fetch enough directory entries to reach the threshold
the artificial HAMT used in the test is complete in the sense that every node has the maximum number of children allowed per DefaultShardWidth and all leaf nodes have the same depth
to reach the directory entries ('value' links) we need to reach the leaf nodes in the base of the tree
in a BFS to do that we need to fetch every node above that last layer
Spawned from ipfs/go-unixfs#106. As explained there,
WalkDepth
does a BFS when called with the concurrent option, which is what we do in the HAMT when enumerating all links ((*Shard).EnumLinksAsync()
).Depending on the distribution of the shards in the HAMT this might mean that we will unnecessarily fetch more nodes/shards than we need to. This is currently exemplified in the test in ipfs/go-unixfs#106:
DefaultShardWidth
and all leaf nodes have the same depthcc @aschmahmann @Stebalien
The text was updated successfully, but these errors were encountered: