Skip to content

Commit 87f2763

Browse files
authored
Merge pull request kubernetes#87896 from apelisse/fieldmanager-benchmark-updatetwice
Add UpdateTwice and UpdateApply benchmarks for fieldmanager
2 parents 9d11793 + a52776f commit 87f2763

File tree

1 file changed

+31
-8
lines changed

1 file changed

+31
-8
lines changed

staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/fieldmanager_test.go

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -409,13 +409,28 @@ func BenchmarkNewObject(b *testing.B) {
409409
APIVersion: "v1",
410410
},
411411
})
412-
412+
appliedObj := &unstructured.Unstructured{Object: map[string]interface{}{}}
413+
if err := yaml.Unmarshal(test.obj, &appliedObj.Object); err != nil {
414+
b.Fatalf("Failed to parse yaml object: %v", err)
415+
}
413416
b.Run("Update", func(b *testing.B) {
414417
b.ReportAllocs()
415418
b.ResetTimer()
416419
for n := 0; n < b.N; n++ {
417-
err := f.Update(newObj, "fieldmanager_test")
418-
if err != nil {
420+
if err := f.Update(newObj, "fieldmanager_test"); err != nil {
421+
b.Fatal(err)
422+
}
423+
f.Reset()
424+
}
425+
})
426+
b.Run("UpdateTwice", func(b *testing.B) {
427+
b.ReportAllocs()
428+
b.ResetTimer()
429+
for n := 0; n < b.N; n++ {
430+
if err := f.Update(newObj, "fieldmanager_test"); err != nil {
431+
b.Fatal(err)
432+
}
433+
if err := f.Update(newObj, "fieldmanager_test_2"); err != nil {
419434
b.Fatal(err)
420435
}
421436
f.Reset()
@@ -425,12 +440,20 @@ func BenchmarkNewObject(b *testing.B) {
425440
b.ReportAllocs()
426441
b.ResetTimer()
427442
for n := 0; n < b.N; n++ {
428-
appliedObj := &unstructured.Unstructured{Object: map[string]interface{}{}}
429-
if err := yaml.Unmarshal(test.obj, &appliedObj.Object); err != nil {
430-
b.Fatalf("error decoding YAML: %v", err)
443+
if err := f.Apply(appliedObj, "fieldmanager_test", false); err != nil {
444+
b.Fatal(err)
445+
}
446+
f.Reset()
447+
}
448+
})
449+
b.Run("UpdateApply", func(b *testing.B) {
450+
b.ReportAllocs()
451+
b.ResetTimer()
452+
for n := 0; n < b.N; n++ {
453+
if err := f.Update(newObj, "fieldmanager_test"); err != nil {
454+
b.Fatal(err)
431455
}
432-
err := f.Apply(appliedObj, "fieldmanager_test", false)
433-
if err != nil {
456+
if err := f.Apply(appliedObj, "fieldmanager_test", false); err != nil {
434457
b.Fatal(err)
435458
}
436459
f.Reset()

0 commit comments

Comments
 (0)