Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
All consumers that rely on delegates (e.g. struct, composite, list, union, ...) require megamorphic lookups which can't be inlined well by JIT.
We should verify the performance different of a hand-coded consumer vs an existing delegate consumer
i.e. something like:
void consume(Decoder d)
{ ((IntConsumer)delegate).consume(d); }
compared to the existing implementation. It is expected we will see a decent amount of performance improvement from this approach. If we do, we should add an option to converter to generate new custom classes on the fly, that mimic the hand-coded option.