mirror of
https://github.com/fluencelabs/tendermint
synced 2025-07-27 02:01:55 +00:00
.circleci
.github
DOCKER
abci
benchmarks
blockchain
cmd
config
consensus
crypto
docs
evidence
libs
lite
mempool
bench_test.go
mempool.go
mempool_test.go
metrics.go
reactor.go
reactor_test.go
wire.go
networks
node
p2p
privval
proxy
rpc
scripts
state
test
tools
types
version
.editorconfig
.gitignore
.golangci.yml
CHANGELOG.md
CHANGELOG_PENDING.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
PHILOSOPHY.md
README.md
ROADMAP.md
SECURITY.md
UPGRADING.md
Vagrantfile
appveyor.yml
codecov.yml
docker-compose.yml
56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
![]() |
package mempool
|
||
|
|
||
|
import (
|
||
|
"encoding/binary"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/tendermint/tendermint/abci/example/kvstore"
|
||
|
"github.com/tendermint/tendermint/proxy"
|
||
|
)
|
||
|
|
||
|
func BenchmarkReap(b *testing.B) {
|
||
|
app := kvstore.NewKVStoreApplication()
|
||
|
cc := proxy.NewLocalClientCreator(app)
|
||
|
mempool := newMempoolWithApp(cc)
|
||
|
|
||
|
size := 10000
|
||
|
for i := 0; i < size; i++ {
|
||
|
tx := make([]byte, 8)
|
||
|
binary.BigEndian.PutUint64(tx, uint64(i))
|
||
|
mempool.CheckTx(tx, nil)
|
||
|
}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
mempool.ReapMaxBytesMaxGas(100000000, 10000000)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkCacheInsertTime(b *testing.B) {
|
||
|
cache := newMapTxCache(b.N)
|
||
|
txs := make([][]byte, b.N)
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
txs[i] = make([]byte, 8)
|
||
|
binary.BigEndian.PutUint64(txs[i], uint64(i))
|
||
|
}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
cache.Push(txs[i])
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// This benchmark is probably skewed, since we actually will be removing
|
||
|
// txs in parallel, which may cause some overhead due to mutex locking.
|
||
|
func BenchmarkCacheRemoveTime(b *testing.B) {
|
||
|
cache := newMapTxCache(b.N)
|
||
|
txs := make([][]byte, b.N)
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
txs[i] = make([]byte, 8)
|
||
|
binary.BigEndian.PutUint64(txs[i], uint64(i))
|
||
|
cache.Push(txs[i])
|
||
|
}
|
||
|
b.ResetTimer()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
cache.Remove(txs[i])
|
||
|
}
|
||
|
}
|