From 5bf77960047966936f96eb0257ec61a2de2ff153 Mon Sep 17 00:00:00 2001 From: Jae Kwon Date: Sun, 20 Dec 2015 11:37:54 -0800 Subject: [PATCH] Add synchronous file write benchmark --- benchmarks/os_test.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 benchmarks/os_test.go diff --git a/benchmarks/os_test.go b/benchmarks/os_test.go new file mode 100644 index 00000000..49a160cd --- /dev/null +++ b/benchmarks/os_test.go @@ -0,0 +1,29 @@ +package benchmarks + +import ( + "os" + "testing" + + . "github.com/tendermint/go-common" +) + +func BenchmarkFileWrite(b *testing.B) { + b.StopTimer() + file, err := os.OpenFile("benchmark_file_write.out", + os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600) + if err != nil { + b.Error(err) + } + testString := RandStr(200) + "\n" + b.StartTimer() + + for i := 0; i < b.N; i++ { + file.Write([]byte(testString)) + } + + file.Close() + err = os.Remove("benchmark_file_write.out") + if err != nil { + b.Error(err) + } +}