aboutsummaryrefslogtreecommitdiffstats
path: root/dex/app.go
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2018-11-21 16:14:51 +0800
committerWei-Ning Huang <w@dexon.org>2019-03-12 12:19:09 +0800
commit589393f8c64d94c268cd057715f8f8c247321aa5 (patch)
treebb2a0c96309d40d350a90e4b0f57bb84c9b84e2b /dex/app.go
parent38e42c16675bee26253886c28e41101c10d66496 (diff)
downloaddexon-589393f8c64d94c268cd057715f8f8c247321aa5.tar
dexon-589393f8c64d94c268cd057715f8f8c247321aa5.tar.gz
dexon-589393f8c64d94c268cd057715f8f8c247321aa5.tar.bz2
dexon-589393f8c64d94c268cd057715f8f8c247321aa5.tar.lz
dexon-589393f8c64d94c268cd057715f8f8c247321aa5.tar.xz
dexon-589393f8c64d94c268cd057715f8f8c247321aa5.tar.zst
dexon-589393f8c64d94c268cd057715f8f8c247321aa5.zip
core: add global signature cache and improve concurrency (#42)
From the go trace result, the bottleneck hides in the lock of StoreTxCache. To improve this, we update the cache in a batched fassion.
Diffstat (limited to 'dex/app.go')
-rw-r--r--dex/app.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/dex/app.go b/dex/app.go
index 99514ed83..df76b2b7d 100644
--- a/dex/app.go
+++ b/dex/app.go
@@ -327,7 +327,7 @@ func (d *DexconApp) VerifyBlock(block *coreTypes.Block) coreTypes.BlockVerifySta
return coreTypes.VerifyInvalidBlock
}
- _, err = transactions.TouchSenders(types.MakeSigner(d.blockchain.Config(), new(big.Int)))
+ _, err = types.GlobalSigCache.Add(types.NewEIP155Signer(d.blockchain.Config().ChainID), transactions)
if err != nil {
log.Error("Failed to calculate sender", "error", err)
return coreTypes.VerifyInvalidBlock