Browse code

use make slice to store objects to improve efficiency

Signed-off-by: allencloud <allen.sun@daocloud.io>

allencloud authored on 2017/04/14 12:02:28
Showing 5 changed files
... ...
@@ -37,7 +37,7 @@ func (c *Cluster) getNetworks(filters *swarmapi.ListNetworksRequest_Filters) ([]
37 37
 		return nil, err
38 38
 	}
39 39
 
40
-	var networks []apitypes.NetworkResource
40
+	networks := make([]apitypes.NetworkResource, 0, len(r.Networks))
41 41
 
42 42
 	for _, network := range r.Networks {
43 43
 		networks = append(networks, convert.BasicNetworkFromGRPC(*network))
... ...
@@ -34,7 +34,7 @@ func (c *Cluster) GetNodes(options apitypes.NodeListOptions) ([]types.Node, erro
34 34
 		return nil, err
35 35
 	}
36 36
 
37
-	nodes := []types.Node{}
37
+	nodes := make([]types.Node, 0, len(r.Nodes))
38 38
 
39 39
 	for _, node := range r.Nodes {
40 40
 		nodes = append(nodes, convert.NodeFromGRPC(*node))
... ...
@@ -48,7 +48,7 @@ func (c *Cluster) GetSecrets(options apitypes.SecretListOptions) ([]types.Secret
48 48
 		return nil, err
49 49
 	}
50 50
 
51
-	secrets := []types.Secret{}
51
+	secrets := make([]types.Secret, 0, len(r.Secrets))
52 52
 
53 53
 	for _, secret := range r.Secrets {
54 54
 		secrets = append(secrets, convert.SecretFromGRPC(secret))
... ...
@@ -67,7 +67,7 @@ func (c *Cluster) GetServices(options apitypes.ServiceListOptions) ([]types.Serv
67 67
 		return nil, err
68 68
 	}
69 69
 
70
-	services := []types.Service{}
70
+	services := make([]types.Service, 0, len(r.Services))
71 71
 
72 72
 	for _, service := range r.Services {
73 73
 		if options.Filters.Include("mode") {
... ...
@@ -60,7 +60,7 @@ func (c *Cluster) GetTasks(options apitypes.TaskListOptions) ([]types.Task, erro
60 60
 		return nil, err
61 61
 	}
62 62
 
63
-	tasks := []types.Task{}
63
+	tasks := make([]types.Task, 0, len(r.Tasks))
64 64
 
65 65
 	for _, task := range r.Tasks {
66 66
 		if task.Spec.GetContainer() != nil {