From ea73dc6f6fa236134d68544a93700a459358aee2 Mon Sep 17 00:00:00 2001 From: Alexander Morozov Date: Thu, 13 Aug 2015 11:42:14 -0700 Subject: [PATCH] tar/storage: Benchmark for bufferFileGetPutter.Put Signed-off-by: Alexander Morozov --- tar/storage/getter_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tar/storage/getter_test.go b/tar/storage/getter_test.go index 5a6fcc7..c06cff0 100644 --- a/tar/storage/getter_test.go +++ b/tar/storage/getter_test.go @@ -2,7 +2,9 @@ package storage import ( "bytes" + "fmt" "io/ioutil" + "strings" "testing" ) @@ -39,6 +41,7 @@ func TestGetter(t *testing.T) { } } } + func TestPutter(t *testing.T) { fp := NewDiscardFilePutter() // map[filename]map[body]crc64sum @@ -60,3 +63,22 @@ func TestPutter(t *testing.T) { } } } + +func BenchmarkPutter(b *testing.B) { + files := []string{ + strings.Repeat("foo", 1000), + strings.Repeat("bar", 1000), + strings.Repeat("baz", 1000), + strings.Repeat("fooz", 1000), + strings.Repeat("vbatts", 1000), + strings.Repeat("systemd", 1000), + } + for i := 0; i < b.N; i++ { + fgp := NewBufferFileGetPutter() + for n, body := range files { + if _, _, err := fgp.Put(fmt.Sprintf("%d", n), bytes.NewBufferString(body)); err != nil { + b.Fatal(err) + } + } + } +}