Skip to content

Commit

Permalink
fix: Benchmark fixes
Browse files Browse the repository at this point in the history
Do not print verbose message if not in verbose mode and don't use msg
count divided by 2 as the number of operations by default to avoid
misleading information.

Fix imap seqset interval generation code, was always generating more
intervals than those available.
  • Loading branch information
LBeernaertProton committed Sep 26, 2022
1 parent c3e41dd commit abe35ec
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 11 deletions.
4 changes: 3 additions & 1 deletion benchmarks/gluon_bench/benchmark/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,9 @@ func measureBenchmark(dirConfig BenchDirConfig, iteration uint, bench Benchmark)
}

if !*flags.SkipClean {
fmt.Printf("Cleaning benchmark dir: %v\n", benchPath)
if *flags.Verbose {
fmt.Printf("Cleaning benchmark dir: %v\n", benchPath)
}

if err := os.RemoveAll(benchPath); err != nil {
fmt.Fprintf(os.Stderr, "Failed to remote benchmark data dir '%v': %v\n", benchPath, err)
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/gluon_bench/imap_benchmarks/copy.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func (c *Copy) Setup(ctx context.Context, addr net.Addr) error {

copyCount := uint32(*copyCountFlag)
if copyCount == 0 {
copyCount = uint32(*flags.IMAPMessageCount / 2)
copyCount = uint32(*flags.IMAPMessageCount)
}

seqSets, err := NewParallelSeqSet(copyCount,
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/gluon_bench/imap_benchmarks/expunge.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func (e *Expunge) Setup(ctx context.Context, addr net.Addr) error {

expungeCount := uint32(*expungeCountFlag)
if expungeCount == 0 {
expungeCount = uint32(*flags.IMAPMessageCount) / 2
expungeCount = uint32(*flags.IMAPMessageCount)
}

e.seqSets = NewParallelSeqSetExpunge(expungeCount,
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/gluon_bench/imap_benchmarks/fetch.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func (f *Fetch) Setup(ctx context.Context, addr net.Addr) error {

fetchCount := uint32(*fetchCountFlag)
if fetchCount == 0 {
fetchCount = uint32(*flags.IMAPMessageCount) / 2
fetchCount = uint32(*flags.IMAPMessageCount)
}

seqSets, err := NewParallelSeqSet(fetchCount,
Expand Down
20 changes: 15 additions & 5 deletions benchmarks/gluon_bench/imap_benchmarks/parallel_seqset.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,7 @@ func NewParallelSeqSetRandom(count uint32, numWorkers uint, generateIntervals, r
itemsLeft := uint32(len(available))
index := rand.Uint32() % itemsLeft

if index > intervalRange {
index -= intervalRange
} else {
if index >= itemsLeft {
index = 0
}

Expand All @@ -136,11 +134,23 @@ func NewParallelSeqSetRandom(count uint32, numWorkers uint, generateIntervals, r
if uid {
seqSet.AddRange(available[index], available[index+intervalRange-1])
} else {
seqSet.AddRange(index+1, index+intervalRange)
endSeq := index + intervalRange + 1

if endSeq > itemsLeft {
endSeq = itemsLeft
}

seqSet.AddRange(index+1, endSeq)
}

list = append(list, seqSet)
available = append(available[:index], available[index+intervalRange:]...)

cutIndex := index
if index > 0 {
cutIndex--
}

available = append(available[:cutIndex], available[index+intervalRange:]...)
}
} else {
for r := uint32(0); r < count; r++ {
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/gluon_bench/imap_benchmarks/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func (s *Search) Setup(ctx context.Context, addr net.Addr) error {

searchCount := uint32(*searchCountFlag)
if searchCount == 0 {
searchCount = uint32(*flags.IMAPMessageCount) / 2
searchCount = uint32(*flags.IMAPMessageCount)
}

if err := s.query.Setup(ctx, cl, searchCount); err != nil {
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/gluon_bench/imap_benchmarks/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func (s *StoreBench) Setup(ctx context.Context, addr net.Addr) error {

storeCount := uint32(*storeCountFlag)
if storeCount == 0 {
storeCount = uint32(*flags.IMAPMessageCount) / 2
storeCount = uint32(*flags.IMAPMessageCount)
}

seqSets, err := NewParallelSeqSet(storeCount,
Expand Down

0 comments on commit abe35ec

Please sign in to comment.