-
Notifications
You must be signed in to change notification settings - Fork 497
jit_optimization
Shaojin Wen edited this page May 12, 2024
·
2 revisions
fastjson 2.0.50版本开始,支持通过全局配置或者JVM启动参数配置JIT,优化生成的代码提升性能。
-
disableReferenceDetect 在不需要引用检测的场景,配置这个之后可以减少引用检测的消耗,提升序列化和反序列化的性能
-
disableArrayMapping 缺省对象序列化的映射是ObjectMapping,不需要ArrayMapping,配置这个可以JIT不生产等相关的代码,提升性能
-
disableJSONB 如果不需要使用JSONB格式,配置这个会在JIT时不生成相关代码,提升性能
-
disableAutoType 如果不需要使用AutoType,配置这个会在JIT时不生成相关代码,提升性能
-
disableSmartMatch 如果不需要智能匹配,比如大小写智能匹配,单元素数组作为值识别等,配置这个会在JIT时不生成相关代码,提升性能
-Dfastjson2.features=disableReferenceDetect,disableArrayMapping,disableJSONB,disableAutoType,disableSmartMatch
public final class JSONFactory {
public static void setDisableReferenceDetect(boolean disableReferenceDetect) {
JSONFactory.disableReferenceDetect = disableReferenceDetect;
}
public static void setDisableArrayMapping(boolean disableArrayMapping) {
JSONFactory.disableArrayMapping = disableArrayMapping;
}
public static void setDisableJSONB(boolean disableJSONB) {
JSONFactory.disableJSONB = disableJSONB;
}
public static void setDisableAutoType(boolean disableAutoType) {
JSONFactory.disableAutoType = disableAutoType;
}
public static void setDisableSmartMatch(boolean disableSmartMatch) {
JSONFactory.disableSmartMatch = disableSmartMatch;
}
}