Details
-
Sub-task
-
Status: Done
-
Major
-
Resolution: Done
-
None
-
None
Description
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.
props.map { case (k, v) => k -> InnerValLikeWithTs(v, version) }
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].
Attachments
Issue Links
- links to