wallet: some performance optimisations for get_receiving_addresses
jsondb takes a copy of the whole self.receiving_addresses good for avoiding race conditions but horrible for performance... this significantly speeds up at least - synchronize_sequence, and - is_beyond_limit (used by Qt AddressList)
This commit is contained in:
@@ -691,12 +691,14 @@ class JsonDB(Logger):
|
||||
return len(self.receiving_addresses)
|
||||
|
||||
@locked
|
||||
def get_change_addresses(self):
|
||||
return list(self.change_addresses)
|
||||
def get_change_addresses(self, *, slice_start=None, slice_stop=None):
|
||||
# note: slicing makes a shallow copy
|
||||
return self.change_addresses[slice_start:slice_stop]
|
||||
|
||||
@locked
|
||||
def get_receiving_addresses(self):
|
||||
return list(self.receiving_addresses)
|
||||
def get_receiving_addresses(self, *, slice_start=None, slice_stop=None):
|
||||
# note: slicing makes a shallow copy
|
||||
return self.receiving_addresses[slice_start:slice_stop]
|
||||
|
||||
@modifier
|
||||
def add_change_address(self, addr):
|
||||
|
||||
Reference in New Issue
Block a user