[ 
https://issues.apache.org/jira/browse/TINKERPOP-1942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16508273#comment-16508273
 ] 

Robert Dale commented on TINKERPOP-1942:
----------------------------------------

[~newkek] makes some excellent points.  Extensibility must be preserved for 
Graph Providers.

I read 
https://github.com/FasterXML/jackson-docs/wiki/Presentation:-Jackson-Performance
 and here are some key points:
- Use of the binary format may be problematic more generally, as well; dealing 
with binary formats is very difficult from Javascript and, specifically, it is 
SLOWER than handling of JSON
- Smile appears to be an easy conversion, just replace JsonFactory with 
SmileFactory
- Smile has similar performance to using the Streaming API (which I believe we 
already use so we may not see much improvement here)
- size of the data will decrease, typically by a similar amount (30-50%) 
(uncompressed)

If we take "minimal compactness" a step further, then we should be able to add 
Gzip/LZO compression to the Channelizer today.  Netty already has some 
WebSocket compression support. 
https://netty.io/4.1/api/io/netty/handler/codec/http/websocketx/extensions/compression/WebSocketServerCompressionHandler.html

So it seems that the highest return with the least amount of work would be to 
do (in order):
1. Adding compression to Gremlin Server
2. Adding Smile as an option


> Binary serialization format
> ---------------------------
>
>                 Key: TINKERPOP-1942
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1942
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: io
>            Reporter: Jorge Bay
>            Priority: Major
>
> We should provide a binary serialization format designed to reduce 
> serialization overhead and minimizing the size of the payload that is 
> transmitted over the wire.
> It could be implemented in a very similar way as Kryo support but with 
> interoperability in mind and ultimately we could fade Gryo out, as now with 
> the GLVs it doesn't have a role to play.
> The main benefit would be the performance improvement, making serialization 
> and deserialization processing time negligible on both the server and the 
> client.
> Background: 
> https://lists.apache.org/thread.html/13e70235591853801bab16ed457ee4f56f3dfe2d1c5817c34a036408@%3Cdev.tinkerpop.apache.org%3E



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to