使用带有"ab -k -c 50 -n 1000000"选项的apachebench(50个并发线程)显示以下两种方法(手动和弹簧管理的序列化)之间的性能差异为10倍.是否可以通过配置Spring序列化来实现相同的性能?
我在Windows 7,JDK8,i7-6700上运行测试.嵌入式Tomcat,与Undertow或Jetty类似的结果.类似的WildFly 10 JAX-RS示例应用程序性能产生与手动弹簧类似的结果,因此我认为没有理由为什么Spring自动模式应该如此慢.
完整源代码:
@SpringBootApplication
@Controller
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
ObjectMapper mapper = new ObjectMapper(new JsonFactory());
@RequestMapping(value = "/auto", produces = "application/json; charset=utf-8")
@ResponseBody
public Lol automaticSerialization() {
Lol lol = new Lol();
lol.a = UUID.randomUUID().toString();
lol.b = System.currentTimeMillis();
return lol;
}
@RequestMapping(value = "/manual", produces = "application/json; charset=utf-8")
@ResponseBody
public String manualSerialization() throws JsonProcessingException { …Run Code Online (Sandbox Code Playgroud)