ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lin" ...@linlyu.com>
Subject Re: How about adding kryo or protostuff as an optional marshaller?
Date Mon, 18 Jul 2016 09:35:22 GMT
Hi Denis,

sorry for the late response, I have run some cases to test the serialization performance for
Ignite Binary marshaller and protostuff.

I test most of the primitive types and some custom classes from https://github.com/eishay/jvm-serializers/wiki

I post the key codes on benchmark on the gist https://gist.github.com/jackeylu/32f9fa35abb84faf42fb25993ec70874

Here is my result, I currently mainly considering the serialization size. It looks like protostuff
works better than ignite binary marshaller in most cases.

            protostuff   ignite-binary-marshaller  
     Case   AvgCompressedSize(bytes)   AvgCompressedSize(bytes)  
     MEDIACONTENT_1   267   452  
     MEDIACONTENT_2   308   531  
     NULL_TYPE   0   1  
     TANGOL_SIMPLE_LONG_ARRAY   90   103  
     CONTACT   212   291  
     FIXED_CONTACT   175   280  
     GENERAL   366   422  
     INT_TYPE   4   5  
     INT_ARRAY   2952   4101  
     INT_RANDOM_ARRAY   8602   4101  
     DOUBLE_TYPE   11   9  
     DOUBLE_ARRAY   9224   8197  
     BYTE_TYPE   4   2  
     BYTE_ARRAY   1029   1029  
     STRING_TYPE   16   17  
     STRING_ARRAY   37896   40965  
     MAP_TYPE   26550   26544  
     LIST_TYPE   15289   16304  
     SET_TYPE   12214   13232  

I can also provide some hex dump for custom classes as follow,

Here is MEDIACONTENT_1  and MEDIACONTENT_2 from Ignite.

and here two are from protostuff.

------------------ Original ------------------
From:  "Dmitriy Setrakyan";<dsetrakyan@apache.org>;
Date:  Thu, Jul 14, 2016 09:28 PM
To:  "user"<user@ignite.apache.org>; 

Subject:  Re: How about adding kryo or protostuff as an optional marshaller?

I highly doubt these marshallers will be more compact than Ignite binary marshaller. Have
you tested it?

On Thu, Jul 14, 2016 at 4:01 PM, Lin <me@linlyu.com> wrote:
Hi all,

I would like to find a more compacted marshaller to save the network bandwidth in Ignite clusters.

From the benchmark result https://github.com/eishay/jvm-serializers/wiki , It looks like the
protostuff and kryo works better than other serializers.

Is it a good idea to use them as an optional marshaller? How to do it? Hope for your suggestions.

Best regards,

View raw message