From 5070d52f2f4763d363508d10c8f5f6eaf6e20646 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Fri, 9 Dec 2016 23:14:56 +0100 Subject: [PATCH] lib/model: Add benchmark for model.Request() --- lib/model/model_test.go | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/model/model_test.go b/lib/model/model_test.go index a17f17d8..c2e1f570 100644 --- a/lib/model/model_test.go +++ b/lib/model/model_test.go @@ -336,7 +336,7 @@ func (f *fakeConnection) sendIndexUpdate() { f.model.IndexUpdate(f.id, f.folder, f.files) } -func BenchmarkRequest(b *testing.B) { +func BenchmarkRequestOut(b *testing.B) { db := db.OpenMemory() m := NewModel(defaultConfig, protocol.LocalDeviceID, "device", "syncthing", "dev", db, nil) m.AddFolder(defaultFolderConfig) @@ -366,6 +366,32 @@ func BenchmarkRequest(b *testing.B) { } } +func BenchmarkRequestInSingleFile(b *testing.B) { + db := db.OpenMemory() + m := NewModel(defaultConfig, protocol.LocalDeviceID, "device", "syncthing", "dev", db, nil) + m.AddFolder(defaultFolderConfig) + m.ServeBackground() + defer m.Stop() + m.ScanFolder("default") + + buf := make([]byte, 128<<10) + rand.Read(buf) + os.RemoveAll("testdata/request") + defer os.RemoveAll("testdata/request") + os.MkdirAll("testdata/request/for/a/file/in/a/couple/of/dirs", 0755) + ioutil.WriteFile("testdata/request/for/a/file/in/a/couple/of/dirs/128k", buf, 0644) + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + if err := m.Request(device1, "default", "request/for/a/file/in/a/couple/of/dirs/128k", 0, nil, false, buf); err != nil { + b.Error(err) + } + } + + b.SetBytes(128 << 10) +} + func TestDeviceRename(t *testing.T) { hello := protocol.HelloResult{ ClientName: "syncthing",