1
0
mirror of https://github.com/rclone/rclone.git synced 2025-12-10 13:23:21 +00:00

refactor: use strings.Builder to improve performance

This commit is contained in:
dulanting
2025-10-30 00:48:34 +08:00
committed by GitHub
parent a0bcdc2638
commit 87b71dd6b9
3 changed files with 13 additions and 13 deletions

View File

@@ -178,7 +178,7 @@ func constructProviders(options fs.Options, providerMap map[string]*Provider) st
} }
} }
var providerList string var providerList strings.Builder
for _, p := range providers { for _, p := range providers {
for i := range options { for i := range options {
@@ -189,7 +189,7 @@ func constructProviders(options fs.Options, providerMap map[string]*Provider) st
Value: p.Name, Value: p.Name,
Help: p.Description, Help: p.Description,
}) })
providerList += p.Name + ", " providerList.WriteString(p.Name + ", ")
case "region": case "region":
addExample(opt, p, p.Region, defaults.Region) addExample(opt, p, p.Region, defaults.Region)
case "endpoint": case "endpoint":
@@ -232,5 +232,5 @@ func constructProviders(options fs.Options, providerMap map[string]*Provider) st
} }
} }
return strings.TrimSuffix(providerList, ", ") return strings.TrimSuffix(providerList.String(), ", ")
} }

View File

@@ -150,13 +150,13 @@ func TestAsyncReaderSizes(t *testing.T) {
var texts [31]string var texts [31]string
str := "" str := ""
all := "" var all strings.Builder
for i := range len(texts) - 1 { for i := range len(texts) - 1 {
texts[i] = str + "\n" texts[i] = str + "\n"
all += texts[i] all.WriteString(texts[i])
str += string(rune(i)%26 + 'a') str += string(rune(i)%26 + 'a')
} }
texts[len(texts)-1] = all texts[len(texts)-1] = all.String()
for h := range len(texts) { for h := range len(texts) {
text := texts[h] text := texts[h]
@@ -191,13 +191,13 @@ func TestAsyncReaderWriteTo(t *testing.T) {
var texts [31]string var texts [31]string
str := "" str := ""
all := "" var all strings.Builder
for i := range len(texts) - 1 { for i := range len(texts) - 1 {
texts[i] = str + "\n" texts[i] = str + "\n"
all += texts[i] all.WriteString(texts[i])
str += string(rune(i)%26 + 'a') str += string(rune(i)%26 + 'a')
} }
texts[len(texts)-1] = all texts[len(texts)-1] = all.String()
for h := range len(texts) { for h := range len(texts) {
text := texts[h] text := texts[h]

View File

@@ -158,11 +158,11 @@ func (d Duration) readableString(maxNumberOfUnits int) string {
return "0s" return "0s"
} }
readableString := "" var readableString strings.Builder
// Check for minus durations. // Check for minus durations.
if d < 0 { if d < 0 {
readableString += "-" readableString.WriteString("-")
} }
duration := time.Duration(math.Abs(float64(d))) duration := time.Duration(math.Abs(float64(d)))
@@ -205,14 +205,14 @@ func (d Duration) readableString(maxNumberOfUnits int) string {
if v == 0 { if v == 0 {
continue continue
} }
readableString += strval + u readableString.WriteString(strval + u)
numberOfUnits++ numberOfUnits++
if maxNumberOfUnits > 0 && numberOfUnits >= maxNumberOfUnits { if maxNumberOfUnits > 0 && numberOfUnits >= maxNumberOfUnits {
break break
} }
} }
return readableString return readableString.String()
} }
// Set a Duration // Set a Duration