mirror of
https://github.com/minio/minio.git
synced 2025-11-09 05:34:56 -05:00
Don't copy interesting ids, clean up logging (#11102)
When searching the caches don't copy the ids, instead inline the loop. ``` Benchmark_bucketMetacache_findCache-32 19200 63490 ns/op 8303 B/op 5 allocs/op Benchmark_bucketMetacache_findCache-32 20338 58609 ns/op 111 B/op 4 allocs/op ``` Add a reasonable, but still the simplistic benchmark. Bonus - make nicer zero alloc logging
This commit is contained in:
55
cmd/metacache-bucket_test.go
Normal file
55
cmd/metacache-bucket_test.go
Normal file
@@ -0,0 +1,55 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func Benchmark_bucketMetacache_findCache(b *testing.B) {
|
||||
bm := newBucketMetacache("", false)
|
||||
const elements = 50000
|
||||
const paths = 100
|
||||
if elements%paths != 0 {
|
||||
b.Fatal("elements must be divisible by the number of paths")
|
||||
}
|
||||
var pathNames [paths]string
|
||||
for i := range pathNames[:] {
|
||||
pathNames[i] = fmt.Sprintf("prefix/%d", i)
|
||||
}
|
||||
for i := 0; i < elements; i++ {
|
||||
bm.findCache(listPathOptions{
|
||||
ID: mustGetUUID(),
|
||||
Bucket: "",
|
||||
BaseDir: pathNames[i%paths],
|
||||
Prefix: "",
|
||||
FilterPrefix: "",
|
||||
Marker: "",
|
||||
Limit: 0,
|
||||
AskDisks: 0,
|
||||
Recursive: false,
|
||||
Separator: slashSeparator,
|
||||
Create: true,
|
||||
CurrentCycle: uint64(i),
|
||||
OldestCycle: uint64(i - 1),
|
||||
})
|
||||
}
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
bm.findCache(listPathOptions{
|
||||
ID: mustGetUUID(),
|
||||
Bucket: "",
|
||||
BaseDir: pathNames[i%paths],
|
||||
Prefix: "",
|
||||
FilterPrefix: "",
|
||||
Marker: "",
|
||||
Limit: 0,
|
||||
AskDisks: 0,
|
||||
Recursive: false,
|
||||
Separator: slashSeparator,
|
||||
Create: true,
|
||||
CurrentCycle: uint64(i % elements),
|
||||
OldestCycle: uint64(0),
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user