miner: removed default timer & update dag when threads > 0

This commit is contained in:
obscuren 2015-04-19 21:45:40 +02:00
parent ed07ffcde5
commit 2c1a6a349b
2 changed files with 8 additions and 16 deletions

@ -16,9 +16,10 @@ type Miner struct {
MinAcceptedGasPrice *big.Int
mining bool
eth core.Backend
pow pow.PoW
threads int
mining bool
eth core.Backend
pow pow.PoW
}
func New(eth core.Backend, pow pow.PoW, minerThreads int) *Miner {
@ -28,6 +29,7 @@ func New(eth core.Backend, pow pow.PoW, minerThreads int) *Miner {
for i := 0; i < minerThreads; i++ {
miner.worker.register(NewCpuMiner(i, pow))
}
miner.threads = minerThreads
return miner
}
@ -40,7 +42,9 @@ func (self *Miner) Start(coinbase common.Address) {
self.mining = true
self.worker.coinbase = coinbase
self.pow.(*ethash.Ethash).UpdateDAG()
if self.threads > 0 {
self.pow.(*ethash.Ethash).UpdateDAG()
}
self.worker.start()

@ -6,7 +6,6 @@ import (
"sort"
"sync"
"sync/atomic"
"time"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core"
@ -151,8 +150,6 @@ func (self *worker) register(agent Agent) {
func (self *worker) update() {
events := self.mux.Subscribe(core.ChainHeadEvent{}, core.ChainSideEvent{}, core.TxPreEvent{})
timer := time.NewTicker(2 * time.Second)
out:
for {
select {
@ -171,15 +168,6 @@ out:
}
case <-self.quit:
break out
case <-timer.C:
if glog.V(logger.Detail) && atomic.LoadInt64(&self.mining) == 1 {
glog.Infoln("Hash rate:", self.HashRate(), "Khash")
}
// XXX In case all mined a possible uncle
if atomic.LoadInt64(&self.atWork) == 0 && atomic.LoadInt64(&self.mining) == 1 {
self.commitNewWork()
}
}
}