Apache POI性能
我在使用Apache POI时遇到性能问题。我已经阅读了有关性能测试的FAQ。我已经通过注销和4gb的堆运行了该测试,但我无法使测试的运行速度超过22秒。
这是我正在运行的测试:http
:
//svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/ss/examples/SSPerformanceTest.java
该FAQ说,如果我不能得到这个测试在50,000行和50列说:“问题是你的环境”下运行3秒。我已经在网上阅读了其他一些评论,这些评论都涉及禁用poi日志记录和增加堆大小,但是似乎没有任何帮助。
我还能检查什么来修复我的环境?
机器规格(个人台式机):
CPU:Intel i7 8核内存:16GB
操作系统:Windows 7 64bit
JDK:1.8.0_66
兴趣点:3.13
JVM参数:-Xmx4g -Xms4g -Dorg.apache.poi.util.POILogger = org.apache.poi.util.NullLogger
命令参数:XSSF 50000 50 0
我还应该提到我正在使用的Apache POI罐来自Maven
Central
我已经在github上创建了一个测试项目,您可以在其中克隆项目并运行:
mvn exec:java
我对使用的参数进行了硬编码,因此您不必在命令行上输入任何特殊内容。文档说这应该在3秒内运行。
测试项目位于此处:https :
//github.com/mikedehaan/poi-test
回答:
我的机器上的测试结果:
- HSSF:2秒
- SXSSF:5秒
- XSSF:27秒
机器规格:
CPU:Intel i3-2100,3.10 GHz,4核内存:16GB
操作系统:Windows 7 64bit
JDK:1.7.0_76
我进行了性能分析,发现XSSF
由于xmlbeans
和poi-ooxml-
schemas库中的方法同步,所以速度很慢。您可以通知poi开发人员,并要求检查此情况。
以上是 Apache POI性能 的全部内容, 来源链接: utcz.com/qa/424854.html