miner: avoid unnecessary work (#15883)

pull/15937/head
Jim McDonald 7 years ago committed by Péter Szilágyi
parent 938cf4528a
commit 18a7d31338
  1. 5
      core/gaspool.go
  2. 5
      miner/worker.go

@ -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…
Cancel
Save