2015-12-12 27 views
8

Apache POIのパフォーマンスに問題があります。パフォーマンステストを参照するFAQを読んだことがあります。私はログオフして4GBのヒープでこのテストを実行しました。テストを22秒以上実行することはできません。Apache POIのパフォーマンス

これは私が実行しているテストです: 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-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のjarファイルは、私はどこにgithubの上でテストプロジェクトを作成しましたmaven central

から来たことを言及する必要があります

私は使用しているパラメータをハードコードしているので、コマンドラインで特別なものを入力する必要はありません。ドキュメンテーションによると、これは3秒以内に実行されるはずです。

テストプロジェクトは次の場所にあります。私のマシンで https://github.com/mikedehaan/poi-test

+0

ハードウェアの仕様が記載されています。 – Marged

+0

良い点...今すぐ更新中です。 –

+0

また、このテストで使用されているOSはどれですか? Windows、Linux?どのバージョン? perfomanceの問題では、時にはそれはjdkのバージョンより重要です。 –

答えて

7

テスト結果:

  • 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開発者に通知して、このケースを確認するように依頼することができます。

+2

私の環境でも同様の結果が得られます。私はあなたが答えを見つけたと信じています。私はこの情報をapache poiユーザーのリストで共有しました。うまくいけば彼らは応答します。ありがとうございました! –