6 cmn "github.com/tendermint/tmlibs/common"
9 func warmupCodec(bank string) *WordCodec {
10 codec, err := LoadCodec(bank)
14 _, err = codec.GetIndex(codec.words[123])
21 func BenchmarkCodec(b *testing.B) {
22 banks := []string{"english", "spanish", "japanese", "chinese_simplified"}
24 for _, bank := range banks {
25 b.Run(bank, func(sub *testing.B) {
26 codec := warmupCodec(bank)
28 benchSuite(sub, codec)
33 func benchSuite(b *testing.B, codec *WordCodec) {
34 b.Run("to_words", func(sub *testing.B) {
35 benchMakeWords(sub, codec)
37 b.Run("to_bytes", func(sub *testing.B) {
38 benchParseWords(sub, codec)
42 func benchMakeWords(b *testing.B, codec *WordCodec) {
44 data := cmn.RandBytes(numBytes)
45 for i := 1; i <= b.N; i++ {
46 _, err := codec.BytesToWords(data)
53 func benchParseWords(b *testing.B, codec *WordCodec) {
54 // generate a valid test string to parse
56 data := cmn.RandBytes(numBytes)
57 words, err := codec.BytesToWords(data)
62 for i := 1; i <= b.N; i++ {
63 _, err := codec.WordsToBytes(words)