mirror of
https://github.com/tendermint/tendermint.git
synced 2026-08-20 22:26:15 +00:00
fix: benchmark single operation in parallel benchmark not b.N (#6422)
Co-authored-by: Sam Kleinman <garen@tychoish.com>
This commit is contained in:
co-authored by
Sam Kleinman
parent
ec5e3b0b02
commit
dcc2556e08
+14
-17
@@ -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.ResetTimer()
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user