Here it is -
This is a class that encapsulates JsonElement (Doesnt implement
Serializable) -
class MyPrimitive {
*private JsonElement element;*
public MyPrimitive(JsonElement element) {
this.element = element;
}
public JsonElement getElement() {
return element;
}
}
Kryo getting created and called -
Kryo kryo = new Kryo();
kryo.setInstantiatorStrategy(new StdInstantiatorStrategy()); //had to do
this as MyPrimitive does not implement //Serializable and has no default arg
FieldSerializer<?> serializer = new FieldSerializer<MyFinal>(kryo,
MyPrimitive.class);
kryo.register(MyPrimitive.class, serializer);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Output output = new Output(stream);
kryo.writeObject(output, myPrimitive);
buffer = stream.toByteArray();
output.close(); // Also calls output.flush()
I now pass the buffer to another function as an argument and try to
deserialize there.
Kryo kryo = new Kryo();
kryo.setInstantiatorStrategy(new StdInstantiatorStrategy()); //had to do
this as MyPrimitive does not implement //Serializable and has no default arg
FieldSerializer<?> serializer = new
FieldSerializer<MyFinal>(kryo,
MyPrimitive.class);
kryo.register(MyPrimitive.class, serializer);
//
* Input input = new Input(buffer);*
MyPrimitive myFinal2 = kryo.readObject(input,
MyPrimitive.class);
The time taken for kryo.readObject takes anywhere from 30 to 150 ms with
around 100ms being average.
Thanks Serega.
Kashyap
On Wed, Jan 6, 2016 at 3:06 PM, Serega Sheypak <[email protected]>
wrote:
> What are you trying to serialize/deserialize?
> You get out of json to java/groovy bean and serialize them using kryo.
> Can you provide code snippet?
>
> 2016-01-06 21:09 GMT+01:00 Kashyap Mhaisekar <[email protected]>:
>
>> It takes 100 ms to deserialize. So basically, serializing and
>> deserializing JsonElement (Which has no no-args constructor and does not
>> implement Serializable) takes 100 ms approx for deserialization.
>>
>> Thanks
>> Kashyap
>>
>> On Wed, Jan 6, 2016 at 1:41 PM, Serega Sheypak <[email protected]>
>> wrote:
>>
>>> Sounds weird, Kryo widely used. What do you mean by "slow"?
>>>
>>> 2016-01-05 22:22 GMT+01:00 Kashyap Mhaisekar <[email protected]>:
>>>
>>>> Serega,
>>>> Kryo has helped, but it is slow. thanks for the pointer. Will need to
>>>> look into this more.
>>>>
>>>> Thanks
>>>> Kashyap
>>>> On Jan 4, 2016 4:14 AM, "Serega Sheypak" <[email protected]>
>>>> wrote:
>>>>
>>>>> Why not to switch to Kryo serialization or any other advanced
>>>>> serializers? Express googling give nice example:
>>>>> http://henning.kropponline.de/2015/09/27/storm-serialization-with-avro-using-kryo-serializer/
>>>>>
>>>>> 2016-01-04 5:29 GMT+01:00 Kashyap Mhaisekar <[email protected]>:
>>>>>
>>>>>> Hi,
>>>>>> I was trying out gson in Storm and find that parsing is slow for my
>>>>>> use case. This is not related to Storm per se, but I guess many of you
>>>>>> may
>>>>>> have experienced the use case below. If so, an interested in finding out
>>>>>> your approach.
>>>>>>
>>>>>> Thanks
>>>>>> Kashyap
>>>>>> ---------- Forwarded message ----------
>>>>>> From: "Kashyap Mhaisekar" <[email protected]>
>>>>>> Date: Jan 3, 2016 3:55 AM
>>>>>> Subject: [google-gson:2550]: JsonElement implements Serialization
>>>>>> To: "google-gson" <[email protected]>
>>>>>> Cc:
>>>>>>
>>>>>> Hi,
>>>>>> Is there any way the JsonElement (Specifically JsonPrimitive) can be
>>>>>> made serializable? I plan to persist the JsonPrimitive itself as an
>>>>>> object
>>>>>> in cache so that my further process is easier. Am presently seeing that
>>>>>> parsing strings each time is becoming expensive in my use case.
>>>>>>
>>>>>> Did anyone try and succeed to Serialize a JsonElement (JsonPrimitive)?
>>>>>>
>>>>>> Please respond.
>>>>>>
>>>>>> Thanks
>>>>>> Kashyap
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "google-gson" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To post to this group, send email to [email protected].
>>>>>> Visit this group at https://groups.google.com/group/google-gson.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>
>>
>