Re: [infinispan-dev] reusing infinispan's marshalling

2014-02-05 Thread Mircea Markus
One way to do it is use a  distributed cache with two different marshallers: 
JBMAR and protostream. Admittedly this won't measure only the serialisation 
performance, but include other stuff as well, such as network time (I guess you 
can remove this from the result though). 
This way we would get a better understanding on how the two marshaller affects 
performance of the system as a whole. Also if using radargun, you could get 
more info around how much CPU time is used by each scenario.


On Jan 30, 2014, at 12:13 PM, Adrian Nistor anis...@redhat.com wrote:

 I've been pondering about re-using the marshalling machinery of 
 Infinispan in another project, specifically in ProtoStream, where I'm 
 planning to add it as a test scoped dependency so I can create a 
 benchmark  to compare marshalling performace. I'm basically interested 
 in comparing ProtoStream and Infinispan's JBoss Marshalling based 
 mechanism. Comparing against plain JBMAR, without using the 
 ExternalizerTable and Externalizers introduced by Infinispan is not 
 going to get me accurate results.

Cheers,
-- 
Mircea Markus
Infinispan lead (www.infinispan.org)





___
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev


Re: [infinispan-dev] reusing infinispan's marshalling

2014-02-05 Thread Mircea Markus

On Feb 3, 2014, at 6:24 PM, Galder Zamarreño gal...@redhat.com wrote:

 Not sure I understand the need to compare this.
 
 JBMAR and ProtoStream are solving different problems. The former is focused 
 on getting the best out of Java persistence. The latter is focused on 
 serializing stuff in a plattform independent way.
 
 IMO, it’s not an apples to apples comparison.

AFAIK the only thing JBMAR does and proto doesn't is tracking circular 
references: e.g. person has a reference to address which has a reference to the 
same person instance. That comes at a performance cost (I guess an 
IdentityMapLookup per serialized object), though and for many users tracking 
circular dependencies is not needed, because of their data model. My 
expectation is that ISPN+protostram will be faster than ISPN+JBMAR because:
- protostream doesn't track circular references (AFAIK this is something that 
can be disabled in JBMAR as well)
- protostream allows for partial deserialization, that is only deserialize a 
specific attribute of a class

On top of that, it is platform independent, so if you start using it as the 
default serialization format, it will be easier for you to use ISPN from 
multiple platforms.

The drawback protostream has over JBMAR is that it requires one to define, 
besides the serialized, a protofile. Las time we discussed, Adrian had some 
ideas on how that can be circumvented, though.

IMO, in certain deployments makes sense to use protostream over JBMAR even when 
serializing only java objects and this benchmark would be a good tool to 
validate that.

Cheers,
-- 
Mircea Markus
Infinispan lead (www.infinispan.org)





___
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev


Re: [infinispan-dev] reusing infinispan's marshalling

2014-02-03 Thread Galder Zamarreño
Not sure I understand the need to compare this.

JBMAR and ProtoStream are solving different problems. The former is focused on 
getting the best out of Java persistence. The latter is focused on serializing 
stuff in a plattform independent way.

IMO, it’s not an apples to apples comparison.

Cheers,

On 30 Jan 2014, at 13:13, Adrian Nistor anis...@redhat.com wrote:

 Hi list!
 
 I've been pondering about re-using the marshalling machinery of 
 Infinispan in another project, specifically in ProtoStream, where I'm 
 planning to add it as a test scoped dependency so I can create a 
 benchmark  to compare marshalling performace. I'm basically interested 
 in comparing ProtoStream and Infinispan's JBoss Marshalling based 
 mechanism. Comparing against plain JBMAR, without using the 
 ExternalizerTable and Externalizers introduced by Infinispan is not 
 going to get me accurate results.
 
 But how? I see the marshaling is spread across infinispan-commons and 
 infinispan-core modules.
 
 Thanks!
 Adrian
 ___
 infinispan-dev mailing list
 infinispan-dev@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/infinispan-dev


--
Galder Zamarreño
gal...@redhat.com
twitter.com/galderz

Project Lead, Escalante
http://escalante.io

Engineer, Infinispan
http://infinispan.org


___
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev


Re: [infinispan-dev] reusing infinispan's marshalling

2014-01-31 Thread Vladimir Blagojevic
Not 100% related to what you are asking about but have a look at this 
post and the discussion that erupted:

http://gridgain.blogspot.ca/2012/12/java-serialization-good-fast-and-faster.html

Vladimir
On 1/30/2014, 7:13 AM, Adrian Nistor wrote:
 Hi list!

 I've been pondering about re-using the marshalling machinery of
 Infinispan in another project, specifically in ProtoStream, where I'm
 planning to add it as a test scoped dependency so I can create a
 benchmark  to compare marshalling performace. I'm basically interested
 in comparing ProtoStream and Infinispan's JBoss Marshalling based
 mechanism. Comparing against plain JBMAR, without using the
 ExternalizerTable and Externalizers introduced by Infinispan is not
 going to get me accurate results.

 But how? I see the marshaling is spread across infinispan-commons and
 infinispan-core modules.

 Thanks!
 Adrian
 ___
 infinispan-dev mailing list
 infinispan-dev@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/infinispan-dev

___
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev


Re: [infinispan-dev] reusing infinispan's marshalling

2014-01-31 Thread Adrian Nistor
Thanks Vladimir! It's a really fun and interesting discussion going on 
there :)


On 01/31/2014 06:29 PM, Vladimir Blagojevic wrote:
 Not 100% related to what you are asking about but have a look at this
 post and the discussion that erupted:

 http://gridgain.blogspot.ca/2012/12/java-serialization-good-fast-and-faster.html

 Vladimir
 On 1/30/2014, 7:13 AM, Adrian Nistor wrote:
 Hi list!

 I've been pondering about re-using the marshalling machinery of
 Infinispan in another project, specifically in ProtoStream, where I'm
 planning to add it as a test scoped dependency so I can create a
 benchmark  to compare marshalling performace. I'm basically interested
 in comparing ProtoStream and Infinispan's JBoss Marshalling based
 mechanism. Comparing against plain JBMAR, without using the
 ExternalizerTable and Externalizers introduced by Infinispan is not
 going to get me accurate results.

 But how? I see the marshaling is spread across infinispan-commons and
 infinispan-core modules.

 Thanks!
 Adrian
 ___
 infinispan-dev mailing list
 infinispan-dev@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/infinispan-dev
 ___
 infinispan-dev mailing list
 infinispan-dev@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/infinispan-dev

___
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev


[infinispan-dev] reusing infinispan's marshalling

2014-01-30 Thread Adrian Nistor
Hi list!

I've been pondering about re-using the marshalling machinery of 
Infinispan in another project, specifically in ProtoStream, where I'm 
planning to add it as a test scoped dependency so I can create a 
benchmark  to compare marshalling performace. I'm basically interested 
in comparing ProtoStream and Infinispan's JBoss Marshalling based 
mechanism. Comparing against plain JBMAR, without using the 
ExternalizerTable and Externalizers introduced by Infinispan is not 
going to get me accurate results.

But how? I see the marshaling is spread across infinispan-commons and 
infinispan-core modules.

Thanks!
Adrian
___
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev