[ 
https://issues.apache.org/jira/browse/IGNITE-13618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-13618:
--------------------------------------
    Description: 
Let's prototype object serializer for type-system described in IEP-54, and 
benchmark them to check if generated code approach is a better one.
 * As we go with Java11 then VarHandles can be used instead of Unsafe.
 * For generated serializer we can use: JDK compiler + Javapoet project (Java 
code generator) or Janino compiler or even  Prestodb-bytecode module of 
PrestoDB project, 

  was:
Let's prototype object serializer for type-system described in IEP-54, and 
benchmark them to check if generated code approach is a better one.
 * For reflection-based serializer we can use Unsafe (see GridUnsafe class) 
which works fine for previour versions of Ignite.
 * To keep focus on the ticket needs mainly, we can use Janino project for code 
generator.
 * In addition, reflection-based serialized could have a version using Java9+ 
VanHandles and it's could be hidden under 'java-9+' maven-profile.

Hints:
Javapoet can be used as codegenerator, Janino as a compiler, class loader. 


> Provide generated and reflection-based class (de)serializers
> ------------------------------------------------------------
>
>                 Key: IGNITE-13618
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13618
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Alexey Goncharuk
>            Assignee: Andrey Mashenkov
>            Priority: Major
>              Labels: iep-54, ignite-3
>         Attachments: benchmark-results.txt
>
>
> Let's prototype object serializer for type-system described in IEP-54, and 
> benchmark them to check if generated code approach is a better one.
>  * As we go with Java11 then VarHandles can be used instead of Unsafe.
>  * For generated serializer we can use: JDK compiler + Javapoet project (Java 
> code generator) or Janino compiler or even  Prestodb-bytecode module of 
> PrestoDB project, 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to