Sorry for opening a can of worms here.

I was intending to post my code so I thought I'd refactor it a bit to make the intent clearer. I don't really know what I did but a run now takes about about the same time as outputting csv. On my machine it went from over 4 minutes to just over 2 minutes.

Anyway I noticed the same slowdown after 600 rows when outputting csv so POI 
isn't implicated at all in my problem.
Very curious though as I use the same framework (FWIW processing XML with 
Saxon) all the time and have never noticed a problem like this before.

Thanks for the examples. The incredulity helped too as it forced me to do more 
testing to try to prove POI was part of the problem. :-)

Brett Knights

I have recently tried to use POI to add a few thousand rows to a spreadsheet. It doesn't make much difference if I start with an almost blank spreadsheet or one with dummy values in the all the cells that will be populated on a run of known size.

I have 42 columns.
Operations move fairly quickly for the first 600 to 650 rows and then slow down considerably.

e.g.
On a test run on a 1GHz Windows machine:
Time to update the first 600 rows takes about 8 seconds.
Time to update the following rows to 1850 takes about 4 minutes. At around row 700 the code is updating around 13 rows a second.
By row 1800 it's down to 5 rows a second.

On a live run with better hardware than my test setup populating 6500 rows takes close to 25 minutes. This is on a 2GHz Debian machine.

On neither machine does memory use approach the max allocated.

jdk 1.4.2
poi-2.5.1-final-20040804

Any help, tips, pointers etc would be most appreciated. It would make my
life easier if I don't have to redo this as a csv.

TIA

Brett Knights

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List:     http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project:  http://jakarta.apache.org/poi/

Reply via email to