miner: avoid unnecessary work (#15883)
This commit is contained in:
parent
938cf4528a
commit
18a7d31338
@ -44,6 +44,11 @@ func (gp *GasPool) SubGas(amount uint64) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gas returns the amount of gas remaining in the pool.
|
||||||
|
func (gp *GasPool) Gas() uint64 {
|
||||||
|
return uint64(*gp)
|
||||||
|
}
|
||||||
|
|
||||||
func (gp *GasPool) String() string {
|
func (gp *GasPool) String() string {
|
||||||
return fmt.Sprintf("%d", *gp)
|
return fmt.Sprintf("%d", *gp)
|
||||||
}
|
}
|
||||||
|
@ -512,6 +512,11 @@ func (env *Work) commitTransactions(mux *event.TypeMux, txs *types.TransactionsB
|
|||||||
var coalescedLogs []*types.Log
|
var coalescedLogs []*types.Log
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
// If we don't have enough gas for any further transactions then we're done
|
||||||
|
if gp.Gas() < params.TxGas {
|
||||||
|
log.Trace("Not enough gas for further transactions", "gp", gp)
|
||||||
|
break
|
||||||
|
}
|
||||||
// Retrieve the next transaction and abort if all done
|
// Retrieve the next transaction and abort if all done
|
||||||
tx := txs.Peek()
|
tx := txs.Peek()
|
||||||
if tx == nil {
|
if tx == nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user