[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