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
Currently the downloader retrieves blocks in a random order due to an unordered underlying fetch queue implementation. This however means that -- statistically -- the entire blockchain needs to be pulled into memory before it's written out to disk, having an O(n) memory complexity, whereas it's possible in O(1). (i.e. if we're aiming for an rpi, this is a must).
On a similar note -- if I'm not mistaking -- all the hashes are retrieved first, and only then does the block downloader start. This should imho be done concurrently, as there is no need to wait for the hashes if there's already something available to pull.
The text was updated successfully, but these errors were encountered:
Currently the downloader retrieves blocks in a random order due to an unordered underlying fetch queue implementation. This however means that -- statistically -- the entire blockchain needs to be pulled into memory before it's written out to disk, having an O(n) memory complexity, whereas it's possible in O(1). (i.e. if we're aiming for an rpi, this is a must).
On a similar note -- if I'm not mistaking -- all the hashes are retrieved first, and only then does the block downloader start. This should imho be done concurrently, as there is no need to wait for the hashes if there's already something available to pull.
The text was updated successfully, but these errors were encountered: