Spring Boot 4 换成 Jackson 3 之后序列化和反序列化会变快还是变慢?这篇在同一个对象上用两套 Jackson 各跑一遍吞吐,并如实写出只测了一台机器、每种只跑了一次的限制。
Jackson 2.21.5:JSON 字节数 980;样例前 120 字节:{"id":9001,"customer":{"id":42,"name":"张三","email":"zhangsan@example.com","vip":true},"status":"PAID","created":"202
Jackson 3.1.5:JSON 字节数 980;样例前 120 字节:{"attrs":{"channel":"web","coupon":"WELCOME10","note":"请尽快发货"},"created":"2026-10-23T12:30:15","customer":{"em大小一样,字段顺序不同。
序列化 writeValueAsBytes(Order):Jackson 2 单线程 472200 / 4 线程 1539000;Jackson 3 单线程 514700 / 4 线程 1339400;3 相对 2:单线程 109%,4 线程 87% 序列化 writeValueAsString(Order):Jackson 2 单线程 369700 / 4 线程 1342400;Jackson 3 单线程 418400 / 4 线程 1085500;3 相对 2:单线程 113%,4 线程 81% 反序列化 readValue(byte[], Order.class):Jackson 2 单线程 174900 / 4 线程 597600;Jackson 3 单线程 174200 / 4 线程 593100;3 相对 2:单线程 100%,4 线程 99% readTree(byte[]):Jackson 2 单线程 152600 / 4 线程 539600;Jackson 3 单线程 150300 / 4 线程 443000;3 相对 2:单线程 98%,4 线程 82%
序列化单线程 3 略快,多线程略慢;反序列化持平;差距大多在 20% 以内。