preallocated slices (#917)
This commit is contained in:
		
				
					committed by
					
						 Asim Aslam
						Asim Aslam
					
				
			
			
				
	
			
			
			
						parent
						
							4a694c9d02
						
					
				
				
					commit
					f67c5e779f
				
			| @@ -101,7 +101,7 @@ func (r *routerSelector) getRoutes(service string) ([]router.Route, error) { | |||||||
| 		return nil, selector.ErrNoneAvailable | 		return nil, selector.ErrNoneAvailable | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var routes []router.Route | 	routes := make([]router.Route, 0, len(pbRoutes.Routes)) | ||||||
|  |  | ||||||
| 	// convert from pb to []*router.Route | 	// convert from pb to []*router.Route | ||||||
| 	for _, r := range pbRoutes.Routes { | 	for _, r := range pbRoutes.Routes { | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ func init() { | |||||||
|  |  | ||||||
| // Random is a random strategy algorithm for node selection | // Random is a random strategy algorithm for node selection | ||||||
| func Random(services []*registry.Service) Next { | func Random(services []*registry.Service) Next { | ||||||
| 	var nodes []*registry.Node | 	nodes := make([]*registry.Node, 0, len(services)) | ||||||
|  |  | ||||||
| 	for _, service := range services { | 	for _, service := range services { | ||||||
| 		nodes = append(nodes, service.Nodes...) | 		nodes = append(nodes, service.Nodes...) | ||||||
|   | |||||||
| @@ -38,7 +38,7 @@ func (c *etcd) Read() (*source.ChangeSet, error) { | |||||||
| 		return nil, fmt.Errorf("source not found: %s", c.prefix) | 		return nil, fmt.Errorf("source not found: %s", c.prefix) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var kvs []*mvccpb.KeyValue | 	kvs := make([]*mvccpb.KeyValue, 0, len(rsp.Kvs)) | ||||||
| 	for _, v := range rsp.Kvs { | 	for _, v := range rsp.Kvs { | ||||||
| 		kvs = append(kvs, (*mvccpb.KeyValue)(v)) | 		kvs = append(kvs, (*mvccpb.KeyValue)(v)) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -282,7 +282,7 @@ func (n *node) Peers() []Node { | |||||||
| 	n.RLock() | 	n.RLock() | ||||||
| 	defer n.RUnlock() | 	defer n.RUnlock() | ||||||
|  |  | ||||||
| 	var peers []Node | 	peers := make([]Node, 0, len(n.peers)) | ||||||
| 	for _, nodePeer := range n.peers { | 	for _, nodePeer := range n.peers { | ||||||
| 		peer := nodePeer.getTopology(MaxDepth) | 		peer := nodePeer.getTopology(MaxDepth) | ||||||
| 		peers = append(peers, peer) | 		peers = append(peers, peer) | ||||||
|   | |||||||
| @@ -38,7 +38,7 @@ func toValues(v []*pb.Value) []*registry.Value { | |||||||
| } | } | ||||||
|  |  | ||||||
| func ToProto(s *registry.Service) *pb.Service { | func ToProto(s *registry.Service) *pb.Service { | ||||||
| 	var endpoints []*pb.Endpoint | 	endpoints := make([]*pb.Endpoint, 0, len(s.Endpoints)) | ||||||
| 	for _, ep := range s.Endpoints { | 	for _, ep := range s.Endpoints { | ||||||
| 		var request, response *pb.Value | 		var request, response *pb.Value | ||||||
|  |  | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ func (r *Router) Lookup(ctx context.Context, req *pb.LookupRequest, resp *pb.Loo | |||||||
| 		return errors.InternalServerError("go.micro.router", "failed to lookup routes: %v", err) | 		return errors.InternalServerError("go.micro.router", "failed to lookup routes: %v", err) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var respRoutes []*pb.Route | 	respRoutes := make([]*pb.Route, 0, len(routes)) | ||||||
| 	for _, route := range routes { | 	for _, route := range routes { | ||||||
| 		respRoute := &pb.Route{ | 		respRoute := &pb.Route{ | ||||||
| 			Service: route.Service, | 			Service: route.Service, | ||||||
|   | |||||||
| @@ -188,7 +188,7 @@ func (s *svc) Advertise() (<-chan *router.Advert, error) { | |||||||
|  |  | ||||||
| // Process processes incoming adverts | // Process processes incoming adverts | ||||||
| func (s *svc) Process(advert *router.Advert) error { | func (s *svc) Process(advert *router.Advert) error { | ||||||
| 	var events []*pb.Event | 	events := make([]*pb.Event, 0, len(advert.Events)) | ||||||
| 	for _, event := range advert.Events { | 	for _, event := range advert.Events { | ||||||
| 		route := &pb.Route{ | 		route := &pb.Route{ | ||||||
| 			Service: event.Route.Service, | 			Service: event.Route.Service, | ||||||
|   | |||||||
| @@ -194,7 +194,7 @@ func (t *table) Query(q ...QueryOption) ([]Route, error) { | |||||||
| 		return findRoutes(t.routes[opts.Service], opts.Address, opts.Gateway, opts.Network, opts.Router), nil | 		return findRoutes(t.routes[opts.Service], opts.Address, opts.Gateway, opts.Network, opts.Router), nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var results []Route | 	results := make([]Route, 0, len(t.routes)) | ||||||
| 	// search through all destinations | 	// search through all destinations | ||||||
| 	for _, routes := range t.routes { | 	for _, routes := range t.routes { | ||||||
| 		results = append(results, findRoutes(routes, opts.Address, opts.Gateway, opts.Network, opts.Router)...) | 		results = append(results, findRoutes(routes, opts.Address, opts.Gateway, opts.Network, opts.Router)...) | ||||||
|   | |||||||
| @@ -139,7 +139,7 @@ func (k *kubernetes) Update(s *runtime.Service) error { | |||||||
| func (k *kubernetes) List() ([]*runtime.Service, error) { | func (k *kubernetes) List() ([]*runtime.Service, error) { | ||||||
| 	// TODO: this should list the k8s deployments | 	// TODO: this should list the k8s deployments | ||||||
| 	// but for now we return in-memory tracked services | 	// but for now we return in-memory tracked services | ||||||
| 	var services []*runtime.Service | 	services := make([]*runtime.Service, 0, len(k.services)) | ||||||
| 	k.RLock() | 	k.RLock() | ||||||
| 	defer k.RUnlock() | 	defer k.RUnlock() | ||||||
|  |  | ||||||
|   | |||||||
| @@ -490,7 +490,7 @@ func (s *rpcServer) Register() error { | |||||||
| 		return subscriberList[i].topic > subscriberList[j].topic | 		return subscriberList[i].topic > subscriberList[j].topic | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| 	var endpoints []*registry.Endpoint | 	endpoints := make([]*registry.Endpoint, 0, len(handlerList)+len(subscriberList)) | ||||||
| 	for _, n := range handlerList { | 	for _, n := range handlerList { | ||||||
| 		endpoints = append(endpoints, s.handlers[n].Endpoints()...) | 		endpoints = append(endpoints, s.handlers[n].Endpoints()...) | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user