github.com/evdatsion/aphelion-dpos-bft@v0.32.1/benchmarks/os_test.go (about)

     1  package benchmarks
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	cmn "github.com/evdatsion/aphelion-dpos-bft/libs/common"
     8  )
     9  
    10  func BenchmarkFileWrite(b *testing.B) {
    11  	b.StopTimer()
    12  	file, err := os.OpenFile("benchmark_file_write.out",
    13  		os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
    14  	if err != nil {
    15  		b.Error(err)
    16  	}
    17  	testString := cmn.RandStr(200) + "\n"
    18  	b.StartTimer()
    19  
    20  	for i := 0; i < b.N; i++ {
    21  		_, err := file.Write([]byte(testString))
    22  		if err != nil {
    23  			b.Error(err)
    24  		}
    25  	}
    26  
    27  	if err := file.Close(); err != nil {
    28  		b.Error(err)
    29  	}
    30  	if err := os.Remove("benchmark_file_write.out"); err != nil {
    31  		b.Error(err)
    32  	}
    33  }