mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-29 17:41:13 +00:00
Merge pull request #5058 from ephesused/optimize-gvk-version
perf: optimize Gvk.ApiVersion()
This commit is contained in:
@@ -122,13 +122,10 @@ func (x Gvk) stableSortString() string {
|
||||
|
||||
// ApiVersion returns the combination of Group and Version
|
||||
func (x Gvk) ApiVersion() string {
|
||||
var sb strings.Builder
|
||||
if x.Group != "" {
|
||||
sb.WriteString(x.Group)
|
||||
sb.WriteString("/")
|
||||
return x.Group + "/" + x.Version
|
||||
}
|
||||
sb.WriteString(x.Version)
|
||||
return sb.String()
|
||||
return x.Version
|
||||
}
|
||||
|
||||
// StringWoEmptyField returns a string representation of the GVK. Non-exist
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
package resid
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
@@ -129,6 +130,23 @@ func TestApiVersion(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkApiVersion(b *testing.B) {
|
||||
for i, bench := range []Gvk{
|
||||
{Kind: "k"},
|
||||
{Version: "v", Kind: "k"},
|
||||
{Group: "g", Kind: "k"},
|
||||
{Group: "g", Version: "v"},
|
||||
{Group: "g", Version: "v", Kind: "k"},
|
||||
{Group: "bitnami.com", Version: "v1alpha1", Kind: "SealedSecret"},
|
||||
} {
|
||||
b.Run(fmt.Sprintf("%d", i), func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
_ = bench.ApiVersion()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestStringWoEmptyField(t *testing.T) {
|
||||
for _, hey := range stringTests {
|
||||
assert.Equal(t, hey.r, hey.x.StringWoEmptyField())
|
||||
|
||||
Reference in New Issue
Block a user