Small optimization in gasprices (turned O(2n) to O(n) in worst case)

This commit is contained in:
Clayton Jacobs 2018-08-21 16:41:36 +08:00
parent 7d38d53ae4
commit a0791eb175

View file

@ -132,9 +132,10 @@ func (gpo *Oracle) SuggestPrice(ctx context.Context) (*big.Int, error) {
} }
} }
price := lastPrice price := lastPrice
if len(blockPrices) > 0 { blockPricesSize = len(blockPrices)
if blockPricesSize > 0 {
sort.Sort(bigIntArray(blockPrices)) sort.Sort(bigIntArray(blockPrices))
price = blockPrices[(len(blockPrices)-1)*gpo.percentile/100] price = blockPrices[(blockPricesSize-1)*gpo.percentile/100]
} }
if price.Cmp(maxPrice) > 0 { if price.Cmp(maxPrice) > 0 {
price = new(big.Int).Set(maxPrice) price = new(big.Int).Set(maxPrice)