简介 WAST 是一个高性能 Java 工具集库包,包括 JSON、YAML、CSV、HttpClient、JDBC 和 EL 引擎. 上篇测试了 WastEl 表达式引擎的性能,本篇测试下 Wast 下面 JSON 模块性能,选取当前性能最快的 Fastjson2 和 DslJson 针对实体类的序列化和反序列化做下对比测试. maven 依赖截止当前最新版本 <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> <version>2.0.53</version> </dependency> <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2-incubator-vector</artifactId> <version>2.0.53</version> </dependency> <dependency> <groupId>io.github.wycst</groupId> <artifactId>wast</artifactId> <version>0.0.18</version> </dependency> <dependency> <groupId>com.dslplatform</groupId> <artifactId>dsl-json</artifactId> <version>2.0.2</version> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>1.36</version> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>1.36</version> </dependency> 数据大小 2kb 测试类 https://gitee.com/xiaoch0209/wast-jmh-test/blob/main/src/main/java/com/jmh/test/json/bean/javajsonjmh/JavaJsonJmhDeserTest.java 测试环境 window10 + JDK17 + IDEA2023 JVM 参数 -Xms3g -Xmx3g --add-opens=java.base/java.time=ALL-UNNAMED --add-modules=jdk.incubator.vector 线程数 7 测试结果(每秒运行次数) Benchmark Mode Cnt Score Error Units JavaJsonJmhDeserTest.dsljson_deser_client thrpt 5 639191.204 ± 49022.629 ops/s JavaJsonJmhDeserTest.fastjson2_deser_client thrpt 5 640448.091 ± 11550.536 ops/s JavaJsonJmhDeserTest.wast_deser_client thrpt 5 1014195.116 ± 36716.999 ops/s JavaJsonJmhSerTest.dsljson_ser_client thrpt 5 1106091.064 ± 49454.761 ops/s JavaJsonJmhSerTest.fastjson2_ser_client thrpt 5 1536311.707 ± 33316.424 ops/s JavaJsonJmhSerTest.wast_ser_client thrpt 5 1952285.412 ± 113669.838 ops/s 以上仅个人测试结果,从上面数据来看,不论序列化还是反序列化 wastjson 性能都要领先 Fastjson2 和 DslJson. 另外,WastJson 无论是小中大文本各种数据类型等性能都没有明显的短板,除了推广外可以说是六边形战士,更多测试参考 https://gitee.com/xiaoch0209/wast-jmh-test (并非所有的 case 都能领先于 fastjson2,某些场景 fastjson2 性能也相当出色) 感兴趣的欢迎下载测试,任何场景,不限于博文提到的场景测试. WastJson 文档地址 查看 WastJson 文档 源码地址
|