mirror of
https://github.com/octoleo/syncthing.git
synced 2025-01-22 22:58:25 +00:00
Better fileset benchmarks
This commit is contained in:
parent
433a0cb9cc
commit
94f5d5b59e
@ -139,62 +139,33 @@ func TestLocalDeleted(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkSetLocal10k(b *testing.B) {
|
func Benchmark10kReplace(b *testing.B) {
|
||||||
m := NewSet()
|
|
||||||
|
|
||||||
var local []scanner.File
|
var local []scanner.File
|
||||||
for i := 0; i < 10000; i++ {
|
for i := 0; i < 10000; i++ {
|
||||||
local = append(local, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
}
|
}
|
||||||
|
|
||||||
var remote []scanner.File
|
|
||||||
for i := 0; i < 10000; i++ {
|
|
||||||
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
|
||||||
}
|
|
||||||
|
|
||||||
m.Replace(1, remote)
|
|
||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
|
m := NewSet()
|
||||||
m.ReplaceWithDelete(cid.LocalID, local)
|
m.ReplaceWithDelete(cid.LocalID, local)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkSetLocal10(b *testing.B) {
|
func Benchmark10kUpdateChg(b *testing.B) {
|
||||||
m := NewSet()
|
|
||||||
|
|
||||||
var local []scanner.File
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
local = append(local, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
|
||||||
}
|
|
||||||
|
|
||||||
var remote []scanner.File
|
var remote []scanner.File
|
||||||
for i := 0; i < 10000; i++ {
|
for i := 0; i < 10000; i++ {
|
||||||
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
}
|
}
|
||||||
|
|
||||||
m.Replace(1, remote)
|
|
||||||
|
|
||||||
b.ResetTimer()
|
|
||||||
for i := 0; i < b.N; i++ {
|
|
||||||
m.ReplaceWithDelete(cid.LocalID, local)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkAddLocal10k(b *testing.B) {
|
|
||||||
m := NewSet()
|
m := NewSet()
|
||||||
|
m.Replace(1, remote)
|
||||||
|
|
||||||
var local []scanner.File
|
var local []scanner.File
|
||||||
for i := 0; i < 10000; i++ {
|
for i := 0; i < 10000; i++ {
|
||||||
local = append(local, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
}
|
}
|
||||||
|
|
||||||
var remote []scanner.File
|
|
||||||
for i := 0; i < 10000; i++ {
|
|
||||||
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
|
||||||
}
|
|
||||||
|
|
||||||
m.Replace(1, remote)
|
|
||||||
m.ReplaceWithDelete(cid.LocalID, local)
|
m.ReplaceWithDelete(cid.LocalID, local)
|
||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
@ -208,31 +179,112 @@ func BenchmarkAddLocal10k(b *testing.B) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkAddLocal10(b *testing.B) {
|
func Benchmark10kUpdateSme(b *testing.B) {
|
||||||
m := NewSet()
|
|
||||||
|
|
||||||
var local []scanner.File
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
local = append(local, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
|
||||||
}
|
|
||||||
|
|
||||||
var remote []scanner.File
|
var remote []scanner.File
|
||||||
for i := 0; i < 10000; i++ {
|
for i := 0; i < 10000; i++ {
|
||||||
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d"), Version: 1000})
|
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m := NewSet()
|
||||||
m.Replace(1, remote)
|
m.Replace(1, remote)
|
||||||
|
|
||||||
|
var local []scanner.File
|
||||||
|
for i := 0; i < 10000; i++ {
|
||||||
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
|
}
|
||||||
|
|
||||||
m.ReplaceWithDelete(cid.LocalID, local)
|
m.ReplaceWithDelete(cid.LocalID, local)
|
||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
for j := range local {
|
|
||||||
local[j].Version++
|
|
||||||
}
|
|
||||||
m.Update(cid.LocalID, local)
|
m.Update(cid.LocalID, local)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Benchmark10kNeed2k(b *testing.B) {
|
||||||
|
var remote []scanner.File
|
||||||
|
for i := 0; i < 10000; i++ {
|
||||||
|
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
|
}
|
||||||
|
|
||||||
|
m := NewSet()
|
||||||
|
m.Replace(cid.LocalID+1, remote)
|
||||||
|
|
||||||
|
var local []scanner.File
|
||||||
|
for i := 0; i < 8000; i++ {
|
||||||
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
|
}
|
||||||
|
for i := 8000; i < 10000; i++ {
|
||||||
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 980})
|
||||||
|
}
|
||||||
|
|
||||||
|
m.ReplaceWithDelete(cid.LocalID, local)
|
||||||
|
|
||||||
|
b.ResetTimer()
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
fs := m.Need(cid.LocalID)
|
||||||
|
if l := len(fs); l != 2000 {
|
||||||
|
b.Errorf("wrong length %d != 2k", l)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func Benchmark10kHave(b *testing.B) {
|
||||||
|
var remote []scanner.File
|
||||||
|
for i := 0; i < 10000; i++ {
|
||||||
|
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
|
}
|
||||||
|
|
||||||
|
m := NewSet()
|
||||||
|
m.Replace(cid.LocalID+1, remote)
|
||||||
|
|
||||||
|
var local []scanner.File
|
||||||
|
for i := 0; i < 2000; i++ {
|
||||||
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
|
}
|
||||||
|
for i := 2000; i < 10000; i++ {
|
||||||
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 980})
|
||||||
|
}
|
||||||
|
|
||||||
|
m.ReplaceWithDelete(cid.LocalID, local)
|
||||||
|
|
||||||
|
b.ResetTimer()
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
fs := m.Have(cid.LocalID)
|
||||||
|
if l := len(fs); l != 10000 {
|
||||||
|
b.Errorf("wrong length %d != 10k", l)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func Benchmark10kGlobal(b *testing.B) {
|
||||||
|
var remote []scanner.File
|
||||||
|
for i := 0; i < 10000; i++ {
|
||||||
|
remote = append(remote, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
|
}
|
||||||
|
|
||||||
|
m := NewSet()
|
||||||
|
m.Replace(cid.LocalID+1, remote)
|
||||||
|
|
||||||
|
var local []scanner.File
|
||||||
|
for i := 0; i < 2000; i++ {
|
||||||
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 1000})
|
||||||
|
}
|
||||||
|
for i := 2000; i < 10000; i++ {
|
||||||
|
local = append(local, scanner.File{Name: fmt.Sprintf("file%d", i), Version: 980})
|
||||||
|
}
|
||||||
|
|
||||||
|
m.ReplaceWithDelete(cid.LocalID, local)
|
||||||
|
|
||||||
|
b.ResetTimer()
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
fs := m.Global()
|
||||||
|
if l := len(fs); l != 10000 {
|
||||||
|
b.Errorf("wrong length %d != 10k", l)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestGlobalReset(t *testing.T) {
|
func TestGlobalReset(t *testing.T) {
|
||||||
m := NewSet()
|
m := NewSet()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user