poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 60397] very slow Cell Merge for SXSSFWorkbook
Date Tue, 09 May 2017 16:54:01 GMT

Stephen Webster <stephen.webster@inetsoft.com> changed:

           What    |Removed                     |Added
             Status|NEEDINFO                    |NEW

--- Comment #5 from Stephen Webster <stephen.webster@inetsoft.com> ---
I have been watching this bug, and wanted to add some information that I have
gathered since I didn't see any progress.  Here is my testcase.

for(int i=0; i < 20000; i++) {
   for(int j=0; j < 30; j+=3) {
      CellRangeAddress range = new CellRangeAddress(i,i,j,j+2);

The results get quite a bit worse as the number of rows/merged region number

1000  rows -> 1.2 seconds
10000 rows -> 100 seconds
20000 rows -> Over 5 minutes.

I dropped the above code and profiled it and turns out the time spent is in the
return statement of addMergedRegion(), ctMergeCells.sizeOfMergeCellArray();

I am not using the return value of this method, after creating a locally
modified version of the XSSFSheet class, I created a method without the return
statement and the testcase finishes in less then 1 second instead of over 5
minutes for 20,000 rows.

Here is the stack from profiler which was 90% of time spent
Stack Trace
org.apache.xmlbeans.impl.store.Locale.count(Xobj, QName, QNameSet)

You are receiving this mail because:
You are the assignee for the bug.
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org

View raw message