base58bench_test.go raw
1 // Copyright (c) 2013-2014 The btcsuite developers
2 // Use of this source code is governed by an ISC
3 // license that can be found in the LICENSE file.
4
5 package base58_test
6
7 import (
8 "bytes"
9 "testing"
10
11 "next.orly.dev/pkg/nostr/crypto/ec/base58"
12 )
13
14 var (
15 raw5k = bytes.Repeat([]byte{0xff}, 5000)
16 raw100k = bytes.Repeat([]byte{0xff}, 100*1000)
17 encoded5k = base58.Encode(raw5k)
18 encoded100k = base58.Encode(raw100k)
19 )
20
21 func BenchmarkBase58Encode_5K(b *testing.B) {
22 b.SetBytes(int64(len(raw5k)))
23 for i := 0; i < b.N; i++ {
24 base58.Encode(raw5k)
25 }
26 }
27
28 func BenchmarkBase58Encode_100K(b *testing.B) {
29 b.SetBytes(int64(len(raw100k)))
30 for i := 0; i < b.N; i++ {
31 base58.Encode(raw100k)
32 }
33 }
34
35 func BenchmarkBase58Decode_5K(b *testing.B) {
36 b.SetBytes(int64(len(encoded5k)))
37 for i := 0; i < b.N; i++ {
38 base58.Decode(encoded5k)
39 }
40 }
41
42 func BenchmarkBase58Decode_100K(b *testing.B) {
43 b.SetBytes(int64(len(encoded100k)))
44 for i := 0; i < b.N; i++ {
45 base58.Decode(encoded100k)
46 }
47 }
48