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