当前位置:  开发笔记 > 编程语言 > 正文

Apache POI性能

如何解决《ApachePOI性能》经验,为你挑选了1个好方法。

我遇到Apache POI的性能问题.我已经阅读了FAQ,它指的是性能测试.我已经通过注销和4gb堆运行此测试,我无法让测试运行得超过22秒.

这是我在运行测试: http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/ss/examples/SSPerformanceTest.java

该FAQ说,如果我不能得到这个测试中在3秒50,000行和50列说:"问题是你的环境"中运行.我已经阅读了围绕网络的其他评论,指的是禁用poi日志记录并增加堆大小,但似乎没有任何帮助.

我还可以检查什么来修复我的环境?

机器规格(个人台式机):

CPU: Intel i7 8-cores
RAM: 16GB
OS: Windows 7 64bit
JDK: 1.8.0_66
POI: 3.13
JVM Params: -Xmx4g -Xms4g -Dorg.apache.poi.util.POILogger=org.apache.poi.util.NullLogger
Command Arguments: XSSF 50000 50 0

我还要提一下,我使用的Apache POI罐子来自maven central

我在github上创建了一个测试项目,您可以在其中简单地克隆项目并运行:

mvn exec:java

我对我正在使用的参数进行了硬编码,因此您无需在命令行中输入任何特殊内容.文档说这应该在3秒内运行.

测试项目位于:https: //github.com/mikedehaan/poi-test



1> dlopatin..:

在我的机器上测试结果:

HSSF:2秒

SXSSF:5秒

XSSF:27秒

机器规格:

CPU: Intel i3-2100, 3.10 GHz, 4-cores
RAM: 16GB
OS:  Windows 7 64bit
JDK: 1.7.0_76

我进行了分析,发现XSSF由于库xmlbeanspoi-ooxml-schemas库中的同步方法很慢.您可以通知poi开发人员并要求检查此案例.


我在我的环境中看到了类似的结果.我相信你找到了答案.我在apache poi用户列表上分享了这些信息.希望他们回应.谢谢!
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有