[
https://issues.apache.org/jira/browse/TINKERPOP3-609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14490302#comment-14490302
]
stephen mallette commented on TINKERPOP3-609:
---------------------------------------------
The {{Graph.Io}} interface was added for at least a couple reasons:
1. so that we didn't have groovy sugar for stuff like {{g.saveGraphML}}
2. so that vendors could configure custom serializers into the {{Mapper}}
implementations - in this way, users wouldn't need to know about those
implementation details.
If we can preserve those two things (especially 2 since it is used higher in
the stack in a multiple places), I'm not worried about changing up other things
about the {{Graph.Io}} interface itself. I'm also not completely sure where
you want to see these changes. {{Graph.Io}} is really just a helper to the
real IO interfaces of {{GraphReader/Writer}}. Do you have some more specifics
in mind?
> Reduce the memory footprint of Gryo
> -----------------------------------
>
> Key: TINKERPOP3-609
> URL: https://issues.apache.org/jira/browse/TINKERPOP3-609
> Project: TinkerPop 3
> Issue Type: Improvement
> Components: io
> Reporter: Marko A. Rodriguez
> Assignee: stephen mallette
> Priority: Critical
> Fix For: 3.0.0.GA
>
>
> A 1 million vertex graph with 1 edge each is a 150meg file. That is 150 bytes
> per vertex/edge.
> If the vertex id is a long that is 4 bytes.
> If the edge id is a long that is 4 bytes.
> The edge should only have ONE id for the otherV of 4 bytes.
> The edge label should be somehow "enum'd" and 1 byte.
> The vertex label should be somehow "enum'd" and 1 byte.
> Add 2-3 bytes for terminators.
> Thus, we should be able to get away with a 17 byte representation (assuming
> no variable width encodings) and thus, a 17 meg file. That is a near 10x file
> size reduction.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)