Skip to content

Commit

Permalink
improved serilaze performance
Browse files Browse the repository at this point in the history
  • Loading branch information
wenshao committed Apr 8, 2016
1 parent e38daa2 commit 3bc29b5
Show file tree
Hide file tree
Showing 4 changed files with 200 additions and 249 deletions.
Expand Up @@ -716,9 +716,8 @@ private void _enum(Class<?> clazz, MethodVisitor mw, FieldInfo property, Context
} else { } else {
if (context.writeDirect) { if (context.writeDirect) {
mw.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Enum", "name", "()Ljava/lang/String;"); mw.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Enum", "name", "()Ljava/lang/String;");
mw.visitInsn(ICONST_0);
mw.visitMethodInsn(INVOKEVIRTUAL, "com/alibaba/fastjson/serializer/SerializeWriter", "writeFieldValueStringWithDoubleQuote", mw.visitMethodInsn(INVOKEVIRTUAL, "com/alibaba/fastjson/serializer/SerializeWriter", "writeFieldValueStringWithDoubleQuote",
"(CLjava/lang/String;Ljava/lang/String;Z)V"); "(CLjava/lang/String;Ljava/lang/String;)V");
} else { } else {
mw.visitMethodInsn(INVOKEVIRTUAL, "com/alibaba/fastjson/serializer/SerializeWriter", "writeFieldValue", mw.visitMethodInsn(INVOKEVIRTUAL, "com/alibaba/fastjson/serializer/SerializeWriter", "writeFieldValue",
"(CLjava/lang/String;Ljava/lang/Enum;)V"); "(CLjava/lang/String;Ljava/lang/Enum;)V");
Expand Down Expand Up @@ -974,9 +973,8 @@ private void _string(Class<?> clazz, MethodVisitor mw, FieldInfo property, Conte
mw.visitVarInsn(ILOAD, context.var("seperator")); mw.visitVarInsn(ILOAD, context.var("seperator"));
mw.visitVarInsn(ALOAD, Context.fieldName); mw.visitVarInsn(ALOAD, Context.fieldName);
mw.visitVarInsn(ALOAD, context.var("string")); mw.visitVarInsn(ALOAD, context.var("string"));
mw.visitInsn(ICONST_1); mw.visitMethodInsn(INVOKEVIRTUAL, "com/alibaba/fastjson/serializer/SerializeWriter", "writeFieldValueStringWithDoubleQuoteCheck",
mw.visitMethodInsn(INVOKEVIRTUAL, "com/alibaba/fastjson/serializer/SerializeWriter", "writeFieldValueStringWithDoubleQuote", "(CLjava/lang/String;Ljava/lang/String;)V");
"(CLjava/lang/String;Ljava/lang/String;Z)V");
} else { } else {
mw.visitVarInsn(ALOAD, context.var("out")); mw.visitVarInsn(ALOAD, context.var("out"));
mw.visitVarInsn(ILOAD, context.var("seperator")); mw.visitVarInsn(ILOAD, context.var("seperator"));
Expand Down
Expand Up @@ -457,7 +457,7 @@ public void write(JSONSerializer serializer, Object object, Object fieldName, Ty
if (out.useSingleQuotes) { if (out.useSingleQuotes) {
out.writeStringWithSingleQuote(propertyValueString); out.writeStringWithSingleQuote(propertyValueString);
} else { } else {
out.writeStringWithDoubleQuote(propertyValueString, (char) 0, true); out.writeStringWithDoubleQuote(propertyValueString, (char) 0);
} }
} }
} else { } else {
Expand Down

0 comments on commit 3bc29b5

Please sign in to comment.