Skip to content
Snippets Groups Projects
Select Git revision
  • de10317314cdbc8ce2837bafd5d5864babd19c92
  • main default protected
  • py2-backport
  • tags/release-0.5_final
  • tags/release-0.4_final
  • tags/release-0.4_r2
  • tags/release-0.3
7 results

.svnignore

Blame
  • transaction_processor_test.go 981 B
    package gossip
    
    import (
    	"sync"
    	"testing"
    
    	"github.com/iotaledger/goshimmer/packages/ternary"
    	"github.com/iotaledger/goshimmer/packages/transaction"
    )
    
    func BenchmarkProcessSimilarTransactionsFiltered(b *testing.B) {
    	byteArray := setupTransaction(transaction.MARSHALLED_TOTAL_SIZE / ternary.NUMBER_OF_TRITS_IN_A_BYTE)
    
    	b.ResetTimer()
    
    	for i := 0; i < b.N; i++ {
    		ProcessReceivedTransactionData(byteArray)
    	}
    }
    
    func BenchmarkProcessSimilarTransactionsUnfiltered(b *testing.B) {
    	byteArray := setupTransaction(transaction.MARSHALLED_TOTAL_SIZE / ternary.NUMBER_OF_TRITS_IN_A_BYTE)
    
    	b.ResetTimer()
    
    	var wg sync.WaitGroup
    
    	for i := 0; i < b.N; i++ {
    		wg.Add(1)
    
    		go func() {
    			Events.ReceiveTransaction.Trigger(transaction.FromBytes(byteArray))
    
    			wg.Done()
    		}()
    	}
    
    	wg.Wait()
    }
    
    func setupTransaction(byteArraySize int) []byte {
    	byteArray := make([]byte, byteArraySize)
    
    	for i := 0; i < len(byteArray); i++ {
    		byteArray[i] = byte(i % 128)
    	}
    
    	return byteArray
    }