[
https://issues.apache.org/jira/browse/IGNITE-18366?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Bessonov updated IGNITE-18366:
-----------------------------------
Description:
After the split, it makes sense to start simplifying every individual
generator. This is partially a research issue. Exactly what to do is not clear
yet.
Some context: classes in package
{{org.apache.ignite.internal.configuration.asm}} are pretty big and
complicated. {{InnerNodeAsmGenerator}} is almost 2000 lines long.
How can we make it simpler? Better naming, more comments. Inner node generation
can be split into multiple files, because it also handles polymorphic
implementations.
In some cases I would change the generation itself. For example, generated
methods in polymorphic instances have the same implementation as in original
inner node instead of simply delegating the execution to inner nodes. It affect
both performance and the code of the generators in negative way.
was:After the split, it makes sense to start simplifying every individual
generator. This is partially a research issue. Exactly what to do is not clear
yet.
> Simplify the configuration asm generator, phase 2
> -------------------------------------------------
>
> Key: IGNITE-18366
> URL: https://issues.apache.org/jira/browse/IGNITE-18366
> Project: Ignite
> Issue Type: Improvement
> Reporter: Ivan Bessonov
> Assignee: Ivan Bessonov
> Priority: Major
> Labels: iep-55, ignite-3, technical-debt
> Fix For: 3.0.0-beta2
>
>
> After the split, it makes sense to start simplifying every individual
> generator. This is partially a research issue. Exactly what to do is not
> clear yet.
> Some context: classes in package
> {{org.apache.ignite.internal.configuration.asm}} are pretty big and
> complicated. {{InnerNodeAsmGenerator}} is almost 2000 lines long.
> How can we make it simpler? Better naming, more comments. Inner node
> generation can be split into multiple files, because it also handles
> polymorphic implementations.
> In some cases I would change the generation itself. For example, generated
> methods in polymorphic instances have the same implementation as in original
> inner node instead of simply delegating the execution to inner nodes. It
> affect both performance and the code of the generators in negative way.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)