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