From 5e2a6778f0d84fd3a2092e5de28b11d834327c27 Mon Sep 17 00:00:00 2001 From: Sergey Cherepanov Date: Wed, 12 Oct 2022 15:14:19 +0300 Subject: [PATCH] change copaction interval --- cmd/benchmarks/db/pogreb.go | 4 +++- cmd/benchmarks/dbbench.go | 30 ++++++++++++++++++------------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/cmd/benchmarks/db/pogreb.go b/cmd/benchmarks/db/pogreb.go index 6cdde374..7cc9759a 100644 --- a/cmd/benchmarks/db/pogreb.go +++ b/cmd/benchmarks/db/pogreb.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/akrylysov/pogreb" "path" + "time" ) type pogrebTree struct { @@ -65,7 +66,8 @@ type pogrebSpaceCreator struct { func (p *pogrebSpaceCreator) CreateSpace(id string) (Space, error) { dbPath := path.Join(p.rootPath, id) db, err := pogreb.Open(dbPath, &pogreb.Options{ - BackgroundCompactionInterval: 200000, + BackgroundSyncInterval: time.Second * 30, + BackgroundCompactionInterval: time.Minute * 2, }) if err != nil { return nil, err diff --git a/cmd/benchmarks/dbbench.go b/cmd/benchmarks/dbbench.go index 0c37302d..c3db3601 100644 --- a/cmd/benchmarks/dbbench.go +++ b/cmd/benchmarks/dbbench.go @@ -3,6 +3,7 @@ package main import ( "fmt" "github.com/anytypeio/go-anytype-infrastructure-experiments/cmd/benchmarks/db" + "math/rand" "net/http" _ "net/http/pprof" "os" @@ -15,15 +16,18 @@ func main() { go func() { fmt.Println(http.ListenAndServe("localhost:6060", nil)) }() - //bench(db.NewBadgerSpaceCreator, options{ - bench(db.NewPogrebSpaceCreator, options{ + opts := options{ numSpaces: 1000, numEntriesInSpace: 100, numChangesInTree: 10, numHeadUpdates: 100, defValueSize: 1000, - lenHeadUpdate: 10, - }) + lenHeadUpdate: 1000, + } + fmt.Println("badger") + bench(db.NewBadgerSpaceCreator, opts) + fmt.Println("pogreb") + bench(db.NewPogrebSpaceCreator, opts) } type options struct { @@ -46,14 +50,16 @@ func bench(factory db.SpaceCreatorFactory, opts options) { return fmt.Sprintf("change%d", n) } - var byteSlice []byte - for i := 0; i < opts.defValueSize; i++ { - byteSlice = append(byteSlice, byte('a')) + var byteSlice = func() []byte { + var buf = make([]byte, opts.defValueSize) + rand.Read(buf) + return buf } - var headUpdate string - for i := 0; i < opts.lenHeadUpdate; i++ { - headUpdate += "a" + var headUpdate = func() []byte { + var buf = make([]byte, opts.lenHeadUpdate) + rand.Read(buf) + return buf } creator := factory() @@ -94,13 +100,13 @@ func bench(factory db.SpaceCreatorFactory, opts options) { // filling entries and updating heads for _, t := range trees { for i := 0; i < opts.numChangesInTree; i++ { - err := t.AddChange(changeIdKey(i), byteSlice) + err := t.AddChange(changeIdKey(i), byteSlice()) if err != nil { panic(err) } } for i := 0; i < opts.numHeadUpdates; i++ { - err := t.UpdateHead(headUpdate) + err := t.UpdateHead(string(headUpdate())) if err != nil { panic(err) }