diff options
author | Jeffrey Wilcke <geffobscura@gmail.com> | 2015-06-30 17:04:30 +0800 |
---|---|---|
committer | Jeffrey Wilcke <geffobscura@gmail.com> | 2015-06-30 20:01:12 +0800 |
commit | 61ca780f3ba21ef1e62aab545160de12cbbf45bf (patch) | |
tree | 92345071d9db2a938e64eef4eb929e0f895e337a /rpc | |
parent | 9226369b5daf8c1bf738369cd838963a5d58362d (diff) | |
download | go-tangerine-61ca780f3ba21ef1e62aab545160de12cbbf45bf.tar.gz go-tangerine-61ca780f3ba21ef1e62aab545160de12cbbf45bf.tar.zst go-tangerine-61ca780f3ba21ef1e62aab545160de12cbbf45bf.zip |
core: reduce CPU load by reducing calls to checkQueue
* Reduced maxQueue count
* Added proper deletion past maxQueue limit
* Added cheap stats method to txpool
queueCheck was called for **every** transaction instead of:
1. add all txs
2. check queue
previously
1. add txs[i]
2. check queue
3. if i < len(txs) goto 1.
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/api/txpool.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/rpc/api/txpool.go b/rpc/api/txpool.go index 25ad6e9b2..04faf463c 100644 --- a/rpc/api/txpool.go +++ b/rpc/api/txpool.go @@ -68,8 +68,9 @@ func (self *txPoolApi) ApiVersion() string { } func (self *txPoolApi) Status(req *shared.Request) (interface{}, error) { + pending, queue := self.ethereum.TxPool().Stats() return map[string]int{ - "pending": self.ethereum.TxPool().GetTransactions().Len(), - "queued": self.ethereum.TxPool().GetQueuedTransactions().Len(), + "pending": pending, + "queued": queue, }, nil } |