preallocated slices (#917)
This commit is contained in:
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()...)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user