Improved performance of the version.GetHumanVersion function by 50% on memory allocation. (#11507)

Co-authored-by: Evan Culver <eculver@hashicorp.com>
This commit is contained in:
haxandmat 2021-12-10 00:14:06 +03:00 committed by GitHub
parent ead530bc48
commit bb992667de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 3 deletions

3
.changelog/11507.txt Normal file
View File

@ -0,0 +1,3 @@
```release-note:improvement
version: Improved performance of the version.GetHumanVersion function by 50% on memory allocation.
```

View File

@ -1,7 +1,6 @@
package version package version
import ( import (
"fmt"
"strings" "strings"
) )
@ -29,9 +28,10 @@ func GetHumanVersion() string {
release := VersionPrerelease release := VersionPrerelease
if release != "" { if release != "" {
if !strings.HasSuffix(version, "-"+release) { suffix := "-" + release
if !strings.HasSuffix(version, suffix) {
// if we tagged a prerelease version then the release is in the version already // if we tagged a prerelease version then the release is in the version already
version += fmt.Sprintf("-%s", release) version += suffix
} }
} }

11
version/version_test.go Normal file
View File

@ -0,0 +1,11 @@
package version
import (
"testing"
)
func BenchmarkGetHumanVersion(b *testing.B) {
for i := 0; i < b.N; i++ {
GetHumanVersion()
}
}