Skip to content
Snippets Groups Projects
Select Git revision
  • 6798c3be178850c2dcb68e811ded24af18b997cf
  • develop default protected
  • congestioncontrol
  • merge-v-data-collection-spammer-0.8.2
  • WIP-merge-v-data-collection-spammer-0.8.2
  • merge-v-data-collection-spammer-0.7.7
  • tmp
  • test-masterpow-fixing
  • test-masterpow
  • test-echo
  • v-data-collection
  • v-data-collection-spammer
  • tmp-dump-spam-info
  • dump-msg-info-0.3.1
  • test-dump-message-info
  • spammer-exprandom
  • extra/tutorial
  • without_tipselection
  • hacking-docker-network
  • hacking-docker-network-0.2.3
  • master
  • v0.2.3
22 results

transaction_processor_test.go

Blame
  • user avatar
    Wolfgang Welz authored
    b5ec7827
    History
    transaction_processor_test.go 981 B
    package gossip
    
    import (
    	"sync"
    	"testing"
    
    	"github.com/iotaledger/goshimmer/packages/model/meta_transaction"
    	"github.com/iotaledger/iota.go/consts"
    )
    
    func BenchmarkProcessSimilarTransactionsFiltered(b *testing.B) {
    	byteArray := setupTransaction(meta_transaction.MARSHALED_TOTAL_SIZE / consts.NumberOfTritsInAByte)
    
    	b.ResetTimer()
    
    	for i := 0; i < b.N; i++ {
    		ProcessReceivedTransactionData(byteArray)
    	}
    }
    
    func BenchmarkProcessSimilarTransactionsUnfiltered(b *testing.B) {
    	byteArray := setupTransaction(meta_transaction.MARSHALED_TOTAL_SIZE / consts.NumberOfTritsInAByte)
    
    	b.ResetTimer()
    
    	var wg sync.WaitGroup
    
    	for i := 0; i < b.N; i++ {
    		wg.Add(1)
    
    		go func() {
    			Events.ReceiveTransaction.Trigger(meta_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
    }