Skip to content

Commit b83a7c2

Browse files
committed
preallocate lists
1 parent 322d1e8 commit b83a7c2

File tree

8 files changed

+16
-13
lines changed

8 files changed

+16
-13
lines changed

pkg/snclient/check_index.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (l *CheckIndex) Build() *CheckData {
4848
}
4949

5050
func (l *CheckIndex) Check(_ context.Context, snc *Agent, check *CheckData, _ []Argument) (*CheckResult, error) {
51-
keys := make([]string, 0)
51+
keys := make([]string, 0, len(AvailableChecks)+len(snc.runSet.cmdAliases)+len(snc.runSet.cmdWraps))
5252
for k := range AvailableChecks {
5353
keys = append(keys, k)
5454
}

pkg/snclient/check_service_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ func (l *CheckService) parseSystemCtlStatus(name, output string) (listEntry map[
285285
}
286286
if listEntry["pid"] == "" {
287287
matches := reSvcPidCgroup.FindAllStringSubmatch(output, -1)
288-
pids := []string{}
288+
pids := make([]string, 0, len(matches))
289289
for _, m := range matches {
290290
pids = append(pids, m[1])
291291
}

pkg/snclient/checkdata.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ func (cd *CheckData) finalizeOutput() (*CheckResult, error) {
241241
}
242242

243243
func (cd *CheckData) buildListMacros() map[string]string {
244-
list := []string{}
244+
list := make([]string, 0, len(cd.listData))
245245
okList := make([]string, 0)
246246
warnList := make([]string, 0)
247247
critList := make([]string, 0)
@@ -560,8 +560,8 @@ func (cd *CheckData) sortList(listData []map[string]string, keys []string) []map
560560
}
561561

562562
slices.SortStableFunc(listData, func(a, b map[string]string) int {
563-
sortA := []string{}
564-
sortB := []string{}
563+
sortA := make([]string, 0, len(keys))
564+
sortB := make([]string, 0, len(keys))
565565
for _, k := range keys {
566566
sortA = append(sortA, a[k])
567567
sortB = append(sortB, b[k])
@@ -1145,7 +1145,7 @@ func (cd *CheckData) VisitAll(condList ConditionList, callback func(*Condition)
11451145
}
11461146

11471147
func (cd *CheckData) CloneThreshold(srcThreshold ConditionList) (cloned ConditionList) {
1148-
cloned = make(ConditionList, 0)
1148+
cloned = make(ConditionList, 0, len(srcThreshold))
11491149

11501150
for i := range srcThreshold {
11511151
cloned = append(cloned, srcThreshold[i].Clone())

pkg/snclient/checkresult.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ type CheckResult struct {
3737
}
3838

3939
func (cr *CheckResult) Finalize(timezone *time.Location, macros ...map[string]string) {
40-
macroSet := []map[string]string{{
40+
macroSet := make([]map[string]string, 0, len(macros)+1)
41+
macroSet = append(macroSet, map[string]string{
4142
"status": cr.StateString(),
42-
}}
43+
})
4344
macroSet = append(macroSet, macros...)
4445

4546
output, err := ReplaceTemplate(cr.Output, timezone, macroSet...)

pkg/snclient/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ func configParseString(val string) (string, error) {
604604
}
605605

606606
func (config *Config) SectionNames() []string {
607-
keys := []string{}
607+
keys := make([]string, 0, len(config.sections))
608608
for name := range config.sections {
609609
keys = append(keys, name)
610610
}

pkg/snclient/inventory.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func (snc *Agent) buildInventory(ctx context.Context, modules []string) *Invento
9898
scripts := make([]string, 0)
9999
inventory := make(Inventory)
100100

101-
keys := make([]string, 0)
101+
keys := make([]string, 0, len(AvailableChecks)+len(snc.runSet.cmdAliases)+len(snc.runSet.cmdWraps))
102102
for k := range AvailableChecks {
103103
keys = append(keys, k)
104104
}

pkg/snclient/listen_exporterexporter.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func (l *HandlerExporterExporter) readModules(snc *Agent, moduleDir string) (map
174174
}
175175

176176
func (l *HandlerExporterExporter) JSON() []map[string]string {
177-
list := []map[string]string{}
177+
list := make([]map[string]string, 0, len(l.modules))
178178
ssl := "0"
179179
if l.listener.tlsConfig != nil {
180180
ssl = "1"

pkg/snclient/snclient_windows.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,8 @@ func (snc *Agent) fixPathHoles(cmdAndArgs []string) []string {
394394
if err == nil {
395395
// can be abs., /usr/bin/echo or %scripts%/check_xy
396396
// or rel., echo, timeout, anything in $PATH
397-
fixed := []string{realPath}
397+
fixed := make([]string, 0, len(cmdAndArgs[pieceNo+1:])+1)
398+
fixed = append(fixed, realPath)
398399
fixed = append(fixed, cmdAndArgs[pieceNo+1:]...)
399400

400401
return fixed
@@ -407,7 +408,8 @@ func (snc *Agent) fixPathHoles(cmdAndArgs []string) []string {
407408
// try a relative lookup in %scripts%
408409
realPath, err = exec.LookPath(filepath.Join(scriptsPath, cmdPath))
409410
if err == nil {
410-
fixed := []string{realPath}
411+
fixed := make([]string, 0, len(cmdAndArgs[pieceNo+1:])+1)
412+
fixed = append(fixed, realPath)
411413
fixed = append(fixed, cmdAndArgs[pieceNo+1:]...)
412414

413415
return fixed

0 commit comments

Comments
 (0)