Skip to content

Commit abe35ec

Browse files
fix: Benchmark fixes
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.
1 parent c3e41dd commit abe35ec

7 files changed

Lines changed: 23 additions & 11 deletions

File tree

benchmarks/gluon_bench/benchmark/run.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,9 @@ func measureBenchmark(dirConfig BenchDirConfig, iteration uint, bench Benchmark)
140140
}
141141

142142
if !*flags.SkipClean {
143-
fmt.Printf("Cleaning benchmark dir: %v\n", benchPath)
143+
if *flags.Verbose {
144+
fmt.Printf("Cleaning benchmark dir: %v\n", benchPath)
145+
}
144146

145147
if err := os.RemoveAll(benchPath); err != nil {
146148
fmt.Fprintf(os.Stderr, "Failed to remote benchmark data dir '%v': %v\n", benchPath, err)

benchmarks/gluon_bench/imap_benchmarks/copy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (c *Copy) Setup(ctx context.Context, addr net.Addr) error {
4444

4545
copyCount := uint32(*copyCountFlag)
4646
if copyCount == 0 {
47-
copyCount = uint32(*flags.IMAPMessageCount / 2)
47+
copyCount = uint32(*flags.IMAPMessageCount)
4848
}
4949

5050
seqSets, err := NewParallelSeqSet(copyCount,

benchmarks/gluon_bench/imap_benchmarks/expunge.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func (e *Expunge) Setup(ctx context.Context, addr net.Addr) error {
4343

4444
expungeCount := uint32(*expungeCountFlag)
4545
if expungeCount == 0 {
46-
expungeCount = uint32(*flags.IMAPMessageCount) / 2
46+
expungeCount = uint32(*flags.IMAPMessageCount)
4747
}
4848

4949
e.seqSets = NewParallelSeqSetExpunge(expungeCount,

benchmarks/gluon_bench/imap_benchmarks/fetch.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func (f *Fetch) Setup(ctx context.Context, addr net.Addr) error {
3939

4040
fetchCount := uint32(*fetchCountFlag)
4141
if fetchCount == 0 {
42-
fetchCount = uint32(*flags.IMAPMessageCount) / 2
42+
fetchCount = uint32(*flags.IMAPMessageCount)
4343
}
4444

4545
seqSets, err := NewParallelSeqSet(fetchCount,

benchmarks/gluon_bench/imap_benchmarks/parallel_seqset.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,7 @@ func NewParallelSeqSetRandom(count uint32, numWorkers uint, generateIntervals, r
122122
itemsLeft := uint32(len(available))
123123
index := rand.Uint32() % itemsLeft
124124

125-
if index > intervalRange {
126-
index -= intervalRange
127-
} else {
125+
if index >= itemsLeft {
128126
index = 0
129127
}
130128

@@ -136,11 +134,23 @@ func NewParallelSeqSetRandom(count uint32, numWorkers uint, generateIntervals, r
136134
if uid {
137135
seqSet.AddRange(available[index], available[index+intervalRange-1])
138136
} else {
139-
seqSet.AddRange(index+1, index+intervalRange)
137+
endSeq := index + intervalRange + 1
138+
139+
if endSeq > itemsLeft {
140+
endSeq = itemsLeft
141+
}
142+
143+
seqSet.AddRange(index+1, endSeq)
140144
}
141145

142146
list = append(list, seqSet)
143-
available = append(available[:index], available[index+intervalRange:]...)
147+
148+
cutIndex := index
149+
if index > 0 {
150+
cutIndex--
151+
}
152+
153+
available = append(available[:cutIndex], available[index+intervalRange:]...)
144154
}
145155
} else {
146156
for r := uint32(0); r < count; r++ {

benchmarks/gluon_bench/imap_benchmarks/search.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (s *Search) Setup(ctx context.Context, addr net.Addr) error {
5151

5252
searchCount := uint32(*searchCountFlag)
5353
if searchCount == 0 {
54-
searchCount = uint32(*flags.IMAPMessageCount) / 2
54+
searchCount = uint32(*flags.IMAPMessageCount)
5555
}
5656

5757
if err := s.query.Setup(ctx, cl, searchCount); err != nil {

benchmarks/gluon_bench/imap_benchmarks/store.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func (s *StoreBench) Setup(ctx context.Context, addr net.Addr) error {
3939

4040
storeCount := uint32(*storeCountFlag)
4141
if storeCount == 0 {
42-
storeCount = uint32(*flags.IMAPMessageCount) / 2
42+
storeCount = uint32(*flags.IMAPMessageCount)
4343
}
4444

4545
seqSets, err := NewParallelSeqSet(storeCount,

0 commit comments

Comments
 (0)