optimise benchmark code.

This commit is contained in:
Raúl Kripalani 2018-08-31 18:49:07 +01:00
parent 171f051aa1
commit 9be48ff689
3 changed files with 14 additions and 27 deletions

View File

@ -2,45 +2,33 @@ package test
import (
"context"
cr "crypto/rand"
"fmt"
"testing"
"github.com/mr-tron/base58/base58"
"github.com/libp2p/go-libp2p-peer"
pt "github.com/libp2p/go-libp2p-peer/test"
ma "github.com/multiformats/go-multiaddr"
mh "github.com/multiformats/go-multihash"
)
type peerpair struct {
ID string
ID peer.ID
Addr ma.Multiaddr
}
func randomPeer(b *testing.B) *peerpair {
buf := make([]byte, 50)
var pid peer.ID
var err error
var addr ma.Multiaddr
for {
n, err := cr.Read(buf)
if err != nil {
b.Fatal(err)
}
if n > 0 {
break
}
}
id, err := mh.Encode(buf, mh.SHA2_256)
if err != nil {
b.Fatal(err)
}
b58ID := base58.Encode(id)
addr, err := ma.NewMultiaddr(fmt.Sprintf("/ip4/127.0.0.1/tcp/6666/ipfs/%s", b58ID))
if err != nil {
if pid, err = pt.RandPeerID(); err != nil {
b.Fatal(err)
}
return &peerpair{b58ID, addr}
if addr, err = ma.NewMultiaddr(fmt.Sprintf("/ip4/127.0.0.1/tcp/6666/ipfs/%s", pid.Pretty())); err != nil {
b.Fatal(err)
}
return &peerpair{pid, addr}
}
func addressProducer(ctx context.Context, b *testing.B, addrs chan *peerpair) {

View File

@ -299,8 +299,7 @@ func benchmarkPeerstore(ps pstore.Peerstore) func(*testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
pp := <-addrs
pid := peer.ID(pp.ID)
ps.AddAddr(pid, pp.Addr, pstore.PermanentAddrTTL)
ps.AddAddr(pp.ID, pp.Addr, pstore.PermanentAddrTTL)
}
cancel()
}

View File

@ -23,4 +23,4 @@ func multiaddr(t *testing.T, m string) ma.Multiaddr {
t.Fatal(err)
}
return maddr
}
}