Improvements to evaluate.
dvc94ch opened this issue · 1 comments
-
a single get query can terminate early. Currently a get query won't terminate until it determined all peers that have the block. This is to speed up sync queries.
-
canceling a query checks if it's a query initiated by the user. but if it happens that a user initiates a get and a sync query and the sync query somehow relies on the get query and then the get query is canceled bad things may happen.
-
it is not clear that the solution is optimal in minimizing latency. peers need to be ranked based on their available bandwidth and response latency to minimize query latency and better incorporate the parallel request limits. (study bittorrent, dat and similar algorithms)
-
the sync algorithm assumes that there are a small number of providers for a block. if this assumption is invalid, it will potentially end up doing more work that necessary. investigate how it performs when there are 100 or more providers.
-
add benchmarks based on unixfs
Closing for now until more information is gathered