@@ -109,7 +109,7 @@ func (d *dag[T]) Add(name string, object T, dependencies ...string) error {
109109
110110// leaves handle edge cases where there are more then one leaf, and from is a subset of the leaves not in the from
111111func (d * dag [T ]) leaves (from []string ) []string {
112- leaves := make ([]string , 0 )
112+ leaves := make ([]string , 0 , len ( d . leafs ) )
113113 for _ , f := range d .leafs {
114114 leaves = append (leaves , f .name )
115115 }
@@ -122,7 +122,7 @@ func (d *dag[T]) leaves(from []string) []string {
122122
123123// diff returns the elements in a that are not in b
124124func diff (a , b []string ) []string {
125- ret := make ([]string , 0 )
125+ ret := make ([]string , 0 , len ( a ) )
126126 for _ , v := range a {
127127 if ! slices .Contains (b , v ) {
128128 ret = append (ret , v )
@@ -179,7 +179,7 @@ func (d *dag[T]) Next(from ...string) ([]string, error) {
179179}
180180
181181func (d * dag [T ]) Get (from ... string ) []T {
182- ret := make ([]T , 0 )
182+ ret := make ([]T , 0 , len ( from ) )
183183 for _ , f := range from {
184184 ret = append (ret , d .vertices [f ].object )
185185 }
@@ -188,7 +188,7 @@ func (d *dag[T]) Get(from ...string) []T {
188188
189189func (d * dag [T ]) Valid () error {
190190 if len (d .placeholders ) > 0 {
191- miss := make ([]string , 0 )
191+ miss := make ([]string , 0 , len ( d . placeholders ) )
192192 for k := range d .placeholders {
193193 miss = append (miss , k )
194194 }
@@ -198,7 +198,7 @@ func (d *dag[T]) Valid() error {
198198}
199199
200200func flat [T any ](m map [string ]* vertex [T ]) []* vertex [T ] {
201- root := make ([]* vertex [T ], 0 )
201+ root := make ([]* vertex [T ], 0 , len ( m ) )
202202 for _ , val := range m {
203203 root = append (root , val )
204204 }
@@ -214,7 +214,7 @@ func sortEdges[T any](e []*vertex[T]) {
214214}
215215
216216func getNames [T any ](vs []* vertex [T ]) []string {
217- ret := make ([]string , 0 )
217+ ret := make ([]string , 0 , len ( vs ) )
218218 for _ , v := range vs {
219219 ret = append (ret , v .name )
220220 }
0 commit comments