[infinispan-dev] First version of JBoss Marshalling based Marshaller
Manik Surtani
manik at jboss.org
Tue Apr 14 15:16:04 EDT 2009
On 14 Apr 2009, at 18:10, David M. Lloyd wrote:
> 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).
Interesting. Maybe stream pooling will not be necessary at all then
if your streams are that much lighter/quicker to create.
--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
More information about the infinispan-dev
mailing list