[infinispan-dev] First version of JBoss Marshalling based Marshaller

David M. Lloyd david.lloyd at redhat.com
Tue Apr 14 13:10:54 EDT 2009


On 04/14/2009 12:02 PM, Galder Zamarreno wrote:
>> I know this is jumping the gun a little, but how does this play with 
>> ISPN-42: Object stream pooling?  That's an optimisation I would really 
>> like to see in place as soon as possible.  :-)  Is this a trivial 
>> "extra" on top of ISPN-44?
> 
> Since streams are now retrieved from a factory in JBoss Marshalling, I 
> need to see what it happens behind the scenes (David could give us a 
> hint here). He might be already doing pooling of the streams returned by 
> the factory. If he isn't, since he's already implemented the factory, it 
> might make more sense to implement it in JBMAR than in JBC? Otherwise, 
> we can always implement this ourselves. David, thoughts?

Nope, the marshallers aren't pooled by default because they're very 
lightweight to create (compared to Object*Streams).  You can however 
implement pooling if you want to (the start/finish methods exist for this 
purpose).  The potential benefit to pooling Marshaller/Unmarshaller 
instances is that if you have Serializable objects which have 
readObject/writeObject methods, the special Object*Stream that is used to 
support this API is cached on the instance.  I haven't seen conclusive 
evidence that pooling would improve performance overall though; because my 
Object*Streams completely override the API, it doesn't have the same costs 
that are normally associated with creating these objects (however there is 
still a permission check involved).

- DML



More information about the infinispan-dev mailing list