GitHub user mchernyakov added a comment to the discussion: Java: maximum 
performance with minimum overhead

@chaokunyang I checked the code and have some questions:
1) I see that `ReplaceResolveSerializer` is assigned to `ImmutableIntArray` 
during expression building 
(`org.apache.fory.builder.BaseObjectCodecBuilder#getOrCreateSerializer`) as 
well as in `ClassResolver#getSerializerClass(Class<?> cls, boolean codegen)` 
(invoked by JIT?)-- that means I would need to refactor the method as well and 
choose the right constructor based on the field type (in my case `final`) + 
propagate the boolean flag or how that should be? 
2) inside 
`org.apache.fory.builder.BaseObjectCodecBuilder#getOrCreateSerializer` there is 
already a branch which takes `final` into account 
https://github.com/apache/fory/blob/main/java/fory-core/src/main/java/org/apache/fory/builder/BaseObjectCodecBuilder.java#L660
 -- did you mean I should add the boolean here as 2nd parameter to 
"getRawSerializer"?
3) What about instead of having 2 constructors for `ReplaceResolveSerializer` 
having just another class --`FieldReplaceResolveSerializer` to handle such 
cases? wdyt?
4) I register my classes, but still there are no branches that led to 
`org.apache.fory.serializer.AbstractObjectSerializer#buildFieldInfos`  -- in 
which cases is it being called?

GitHub link: 
https://github.com/apache/fory/discussions/2786#discussioncomment-14798580

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to