[alibaba/easyexcel]对性能测试图的疑问

2024-06-20 992 views
6

看到性能测试图解,作者解释慢的原因采用了反射 跑了demo之后发现读写文件分为两种,一个没有java模型使用String的 还有一个是java模型 这个测试的性能图解是采用了java模型的分析结果 建议能不能做个不使用java模型做个性能分析。 我是不是可以理解为,如果也追求这个丁点的速度,我不怕麻烦采用没有java模型的方式读写excel会更快

回答

3

和poI 相比,读的区别在于2点:

  1. poi 同步读写不支持打大文件,异步读写非常麻烦,需要自己解析很多东西。easyexcel 用异步,且封装了返回对象为一个Bean,所以会方便。
  2. easyexcel 舍弃style,所以理论上异步也比poi快和省内存
6

"从上面的性能测试可以看出easyexcel在解析耗时上比poiuserModel模式弱了一些。主要原因是我内部采用了反射做模型字段映射" 上述是在你的性能分析做的解释,在easyexcel也是可以不使用Java模型,这样就避免了反射,这样的解析效率就应该是比poi更快。对于解释我非常支持,但还是想看一下不使用反射时的情况!

5

不用反射 你可以参照demo 用list 去接收即可。