Skip to content
Snippets Groups Projects
Select Git revision
  • 9696c8997cb785c5f0d8f1a98d7da74b56a83e7c
  • without_tipselection default
  • develop protected
  • fix/grafana-local-dashboard
  • wasp
  • fix/dashboard-explorer-freeze
  • master
  • feat/timerqueue
  • test/sync_debug_and_650
  • feat/sync_revamp_inv
  • wip/sync
  • tool/db-recovery
  • portcheck/fix
  • fix/synchronization
  • feat/new-dashboard-analysis
  • feat/refactored-analysis-dashboard
  • feat/new-analysis-dashboard
  • test/demo-prometheus-fpc
  • prometheus_metrics
  • wip/analysis-server
  • merge/fpc-test-value-transfer
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
28 results

drng.go

Blame
  • batch_hasher_test.go 1.47 KiB
    package curl
    
    import (
    	"crypto/ed25519"
    	"fmt"
    	"sync"
    	"testing"
    
    	"github.com/iotaledger/iota.go/trinary"
    	"golang.org/x/crypto/blake2b"
    )
    
    type zeroReader struct{}
    
    func (zeroReader) Read(buf []byte) (int, error) {
    	for i := range buf {
    		buf[i] = 0
    	}
    	return len(buf), nil
    }
    
    func BenchmarkEd25519(b *testing.B) {
    	var zero zeroReader
    	public, private, _ := ed25519.GenerateKey(zero)
    
    	fmt.Println(len(public))
    
    	message := make([]byte, 75)
    	sig := ed25519.Sign(private, message)
    
    	b.ResetTimer()
    
    	var wg sync.WaitGroup
    	for i := 0; i < b.N; i++ {
    		wg.Add(1)
    
    		go func() {
    			if !ed25519.Verify(public, message, sig) {
    				panic("valid signature rejected")
    			}
    
    			wg.Done()
    		}()
    	}
    	wg.Wait()
    }
    
    var sampleTransactionData = make([]byte, 750)
    
    func BenchmarkBytesToTrits(b *testing.B) {
    	bytes := blake2b.Sum512(sampleTransactionData)
    
    	b.ResetTimer()
    
    	var wg sync.WaitGroup
    	for i := 0; i < b.N; i++ {
    		wg.Add(1)
    
    		go func() {
    			_, _ = trinary.BytesToTrits(bytes[:])
    
    			wg.Done()
    		}()
    	}
    	wg.Wait()
    }
    
    func BenchmarkBlake2b(b *testing.B) {
    	var wg sync.WaitGroup
    	for i := 0; i < b.N; i++ {
    		wg.Add(1)
    
    		go func() {
    			blake2b.Sum256(sampleTransactionData)
    
    			wg.Done()
    		}()
    	}
    	wg.Wait()
    }
    
    func BenchmarkBatchHasher_Hash(b *testing.B) {
    	batchHasher := NewBatchHasher(243, 81)
    	tritsToHash := make(trinary.Trits, 7500)
    
    	b.ResetTimer()
    
    	var wg sync.WaitGroup
    	for i := 0; i < b.N; i++ {
    		wg.Add(1)
    
    		go func() {
    			batchHasher.Hash(tritsToHash)
    
    			wg.Done()
    		}()
    	}
    	wg.Wait()
    }