Browse Source

fix: benchmark single operation in parallel benchmark not b.N (#6422)

Co-authored-by: Sam Kleinman <garen@tychoish.com>
pull/6426/head
Dmitry Shulyak 4 years ago
committed by GitHub
parent
commit
dcc2556e08
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 16 deletions
  1. +13
    -16
      mempool/bench_test.go

+ 13
- 16
mempool/bench_test.go View File

@ -2,6 +2,7 @@ package mempool
import (
"encoding/binary"
"sync/atomic"
"testing"
"github.com/tendermint/tendermint/abci/example/kvstore"
@ -54,25 +55,21 @@ func BenchmarkParallelCheckTx(b *testing.B) {
mempool.config.Size = 100000000
txCt := 500000000
counter := make(chan int, txCt)
for i := 0; i < txCt; i++ {
counter <- i
var txcnt uint64
next := func() uint64 {
return atomic.AddUint64(&txcnt, 1) - 1
}
close(counter)
b.ResetTimer()
for i := 0; i < b.N; i++ {
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
tx := make([]byte, 8)
binary.BigEndian.PutUint64(tx, uint64(<-counter))
if err := mempool.CheckTx(tx, nil, TxInfo{}); err != nil {
b.Fatal(err)
}
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
tx := make([]byte, 8)
binary.BigEndian.PutUint64(tx, next())
if err := mempool.CheckTx(tx, nil, TxInfo{}); err != nil {
b.Fatal(err)
}
})
}
}
})
}
func BenchmarkCheckDuplicateTx(b *testing.B) {


Loading…
Cancel
Save