From bfe7ad7ec30ebf0e9914ed1cf58076ffca51d119 Mon Sep 17 00:00:00 2001 From: Kevin Atkinson Date: Thu, 3 Nov 2016 23:14:57 -0400 Subject: [PATCH] merkledag: optimize DagService GetLinks for Raw Nodes. A Raw Node can not possible have links, so there is no need to retrive the node. Once Raw Nodes are in common usage this can likely make a big difference in the GC and other places that just care about the Links. License: MIT Signed-off-by: Kevin Atkinson --- merkledag/merkledag.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/merkledag/merkledag.go b/merkledag/merkledag.go index b2a097a5265..222adb55090 100644 --- a/merkledag/merkledag.go +++ b/merkledag/merkledag.go @@ -114,6 +114,9 @@ func decodeBlock(b blocks.Block) (node.Node, error) { } func (n *dagService) GetLinks(ctx context.Context, c *cid.Cid) ([]*node.Link, error) { + if c.Type() == cid.Raw { + return nil, nil + } node, err := n.Get(ctx, c) if err != nil { return nil, err