We were using the HSSFR4 service program you so helpfully provided, and it
appeared to me that it attempts to signal all objects for garbage
collection when they have become obsolete, but I suspect that the
hssf_freeLocalRef doesn't actually clean up as well as it should. As
someone else pointed out, we're telling the JVM to garbage collect per
IBM's spec, but it doesn't really clean everything until JVM ends.
I'm a serious newbie on Java development, and wasn't aware of byte strings.
I'll look into that.
From: Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx>
To: RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>
Date: 03/22/2010 01:28 PM
Subject: Re: Improving Excel generation performance through calling Java
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
Hi Darren,
So far my results are, with running both ways twice, using the standard
HSSF api's from pure RPGLE it took 11 minutes. Coding the 4 steps to
create row in java, called from RPG, takes 5 minutes.
That absolutely startles me. Were you doing garbage collection properly
in your RPG version?
This method still requires creating a java string object to pass to the
create cell routine, so there is still a memory leak in that step, but I
cannot think of a way around that issue.
Why not pass a byte string to the create cell routine? Then you could
pass an RPG-style alphanumeric string directly to the Java routine. The
Java routine would use the byte[] to create the String object.
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.