core: faster find_blockchain_supplement
Since this queries block heights for blocks that may or may not exist, queries for non existing blocks would throw an exception, and that would slow down the loop a lot. 7 seconds to go through a 30 hash list. Fix this by adding an optional return block height to block_exists and using this instead. Actual errors will still throw an exception. This also cuts down on log exception spam.
This commit is contained in:
@@ -736,10 +736,11 @@ public:
|
||||
* @brief checks if a block exists
|
||||
*
|
||||
* @param h the hash of the requested block
|
||||
* @param height if non NULL, returns the block's height if found
|
||||
*
|
||||
* @return true of the block exists, otherwise false
|
||||
*/
|
||||
virtual bool block_exists(const crypto::hash& h) const = 0;
|
||||
virtual bool block_exists(const crypto::hash& h, uint64_t *height = NULL) const = 0;
|
||||
|
||||
/**
|
||||
* @brief fetches the block with the given hash
|
||||
|
||||
Reference in New Issue
Block a user