[infinispan-dev] Marshalling/unmarshalling known type

Pedro Ruivo pedro at infinispan.org
Mon Apr 25 09:25:18 EDT 2016


Hi,

I've noticed the same when I refactor the commands marshalling.

I thought about creating a MarshallUtil.writeObjectWithExternalizer(T 
obj, Externalizer<T> ext) to handle this cases but it was outside the 
scope of that JIRA.

In the end, most of the externalizers are stateless and it can be a 
Singleton and the allocation can be removed. +1 to create a JIRA to 
improve this cases.

Pedro


On 04/25/2016 01:36 PM, Radim Vansa wrote:
> Hi,
>
> I've noticed that sometimes we marshall objects just using
> output.writeObject() even though we know the target type - one example
> for all is CommandInvocationId. That's somewhat suboptimal, as we know
> that there won't be any CommandInvocationIdEx, so we could spare the
> externalizer lookup and few bytes for object identifier.
>
> Is there any better way than
>
> new CommandInvocationId.Externalizer().writeObject(output,
> commandInvocationId)?
>
> Should we use this ^? I guess that object allocation will be eliminated
> here easily.
>
> Radim
>


More information about the infinispan-dev mailing list