One of the long-standing complaints about the RPG Java interface is that
java objects created by RPG are NEVER freed. Even if you set the
variable to *NULL or reuse it with another object, the object is not
eligible for garbage collection. I think it remains until the RPG
program ends, but it may stay until the job ends. For sure it stays
until the JVM instance ends. That known issue may have been addressed in
some version of the RPG compiler or operating system, but I've not seen
it publicised.
If that's still the case, a large spreadsheet is going to burn up a lot
of memory.
The recomendation has been to do as few "new" as possible. Create only
one cell object, for instance. Change that cell a thousand times adding
it to the spreadsheet after each change. That may work and it may not,
depending on the POI model for adding cells to the spreadsheet.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of darren@xxxxxxxxx
Sent: Tuesday, March 02, 2010 8:40 AM
To: midrange-l
Subject: HSSF POI performance huge memory usage
I'm using the HSSF POI API's, via Scott Klement's service programs, to
generate a rather large spreadsheet. It has two tabs with about 20K
rows, and I've come to accept that it will take a little while to run.
However, as I watch my job, I see 'Temporary Storage Used' go as high as
600MB.
I've studied the service programs, as well as my own code, to make sure
that I'm freeing local references to objects whenever I'm done with
them.
Is this normal behavior for these API's with a larger spreadsheet, or do
I have a memory leak somewhere?
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.