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/