[ https://issues.apache.org/jira/browse/FLINK-3599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15473702#comment-15473702 ]
ASF GitHub Bot commented on FLINK-3599: --------------------------------------- Github user ggevay commented on a diff in the pull request: https://github.com/apache/flink/pull/2211#discussion_r77993831 --- Diff: flink-core/src/main/java/org/apache/flink/api/java/typeutils/PojoTypeInfo.java --- @@ -419,4 +481,61 @@ public String toString() { return "NamedFlatFieldDescriptor [name="+fieldName+" position="+getPosition()+" typeInfo="+getType()+"]"; } } + + public static String accessStringForField(Field f) { + String fieldName = f.getName(); + if (Modifier.isPublic(f.getModifiers())) { + return fieldName; + } + String getterName = "get" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1); + Class parentClazz = f.getDeclaringClass(); + try { + parentClazz.getMethod(getterName, new Class[0]); + } catch (NoSuchMethodException e) { + // No getter, it might be a scala class. + return fieldName + "()"; + } + return getterName + "()"; + } + + public static String modifyStringForField(Field f, String arg) { + String fieldName = f.getName(); + if (Modifier.isPublic(f.getModifiers())) { + if (f.getType().isPrimitive()) { + return f.getName() + " = (" + + primitiveBoxedClasses.get(f.getType().getCanonicalName()).getCanonicalName() + ")" + arg; --- End diff -- Why do we need to cast to the boxed types if the field is non-boxed? > GSoC: Code Generation in Serializers > ------------------------------------ > > Key: FLINK-3599 > URL: https://issues.apache.org/jira/browse/FLINK-3599 > Project: Flink > Issue Type: Improvement > Components: Type Serialization System > Reporter: Márton Balassi > Assignee: Gabor Horvath > Labels: gsoc2016, mentor > > The current implementation of the serializers can be a > performance bottleneck in some scenarios. These performance problems were > also reported on the mailing list recently [1]. > E.g. the PojoSerializer uses reflection for accessing the fields, which is > slow [2]. > For the complete proposal see [3]. > [1] > http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/Tuple-performance-and-the-curious-JIT-compiler-td10666.html > [2] > https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/api/java/typeutils/runtime/PojoSerializer.java#L369 > [3] > https://docs.google.com/document/d/1VC8lCeErx9kI5lCMPiUn625PO0rxR-iKlVqtt3hkVnk -- This message was sent by Atlassian JIRA (v6.3.4#6332)