You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@s2graph.apache.org by "DOYUNG YOON (JIRA)" <ji...@apache.org> on 2016/04/28 16:08:12 UTC

[jira] [Created] (S2GRAPH-69) Change IndexEdge's props data type.

DOYUNG YOON created S2GRAPH-69:
----------------------------------

             Summary: Change IndexEdge's props data type. 
                 Key: S2GRAPH-69
                 URL: https://issues.apache.org/jira/browse/S2GRAPH-69
             Project: S2Graph
          Issue Type: Sub-task
            Reporter: DOYUNG YOON
            Assignee: DOYUNG YOON


User query traverse on IndexEdge, and current implemenation for deserialize bytes array into IndexEdge first(IndexEdgeDeserializable), then call IndexEdge#toEdge to create Edge class.

I found out following parts copy data which is unnecessary.

{noformat}
props.map { case (k, v) => k -> InnerValLikeWithTs(v, version) }
{noformat}

This inefficiency exist because IndexEdge use Map[Byte, InnerValLike] and Edge use Map[Byte, InnerValLikeWithTs] as type of props value.

It sounds like micro optimization but since this is called a lot, actually dependent on # fetched edges, I think improving this would create some changes on performance.

To remove unnecessary copy, I am suggesting change type of IndexEdge's props same with Edge's props type Map[Byte, InnerValLikeWithTs].




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)