shuichiの日記: 「Excelを開くの遅いんでどうにかしてください」4
日記 by
shuichi
以前、
「Excelを開くの遅いんでどうにかしてください」1
「Excelを開くの遅いんでどうにかしてください」2
「Excelを開くの遅いんでどうにかしてください」3
と、日記に書いたが、それらファイルをコピーして大量のファイルが作られていた。
一個ずつ処理していくのは面倒なので、自分で作っているOptiOpenXMLというフリーソフトに処理を組み込んでみた。
(ここまで昨年末の話)
・・・見たのだが、内部でDOMを使っていたのだが、数百万のセルや、数十万のオートシェイプを読み込むとメモリ不足でGC走りまくり。
とてもじゃないが速度的に耐えられないことが判明。
プルパーサ使って書き直そうとしたが、要素の依存関係辿る処理が複雑になりすぎる。
結局、必要な内容のみを保持するDOM擬きを独自実装と一部の要素以下のノードをメモリ上に圧縮して持たせることで、実用的な処理速度が出るようになった。
あちこち直したので、正月休みで作ってしまうつもりが、もう2月も終わるとか・・・
「Excelを開くの遅いんでどうにかしてください」4 More ログイン