mirror of https://github.com/minio/minio.git
Browse Source
Don't copy interesting ids, clean up logging (#11102)
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 loggingpull/11107/head

committed by
GitHub

No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 176 additions and 166 deletions
-
138cmd/metacache-bucket.go
-
55cmd/metacache-bucket_test.go
-
88cmd/metacache-set.go
-
61cmd/metacache.go
@ -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), |
|||
}) |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue