Use a peer reputation that scores peers using their transfer rate instead of the current system of penalising for timeouts and bad responses. When investigating the syncing of the chain, we noticed a large variation in peer transfer rates and this can make a large difference in the time taken to complete syncing.
Great idea, needs to also preserve type of peer, so we don't favor a fast peer that only provides blocks over one that might also provide state. It's worth any refactoring needed to track these added dimensions.
Use a peer reputation that scores peers using their transfer rate instead of the current system of penalising for timeouts and bad responses. When investigating the syncing of the chain, we noticed a large variation in peer transfer rates and this can make a large difference in the time taken to complete syncing.