lib/model: Add benchmark for model.Request()

This commit is contained in:
Jakob Borg 2016-12-09 23:14:56 +01:00
parent 7b07ed6580
commit 5070d52f2f

View File

@ -336,7 +336,7 @@ func (f *fakeConnection) sendIndexUpdate() {
f.model.IndexUpdate(f.id, f.folder, f.files) f.model.IndexUpdate(f.id, f.folder, f.files)
} }
func BenchmarkRequest(b *testing.B) { func BenchmarkRequestOut(b *testing.B) {
db := db.OpenMemory() db := db.OpenMemory()
m := NewModel(defaultConfig, protocol.LocalDeviceID, "device", "syncthing", "dev", db, nil) m := NewModel(defaultConfig, protocol.LocalDeviceID, "device", "syncthing", "dev", db, nil)
m.AddFolder(defaultFolderConfig) 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) { func TestDeviceRename(t *testing.T) {
hello := protocol.HelloResult{ hello := protocol.HelloResult{
ClientName: "syncthing", ClientName: "syncthing",