Paul,
Have you tried setting Java system property java.compiler to "jitc" to
make it use the JIT compiler?
I'm not saying what the results should be, but IBM has been saying for
the last couple of releases that JIT should be as fast or faster than
direct executable (what comes out of CRTJVAPGM).
Here's a link:
http://tinyurl.com/2eux2h
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/rzaha/selmod
.htm?resultof=%22%6a%61%76%61%2e%63%6f%6d%70%69%6c%65%72%22%20
-Marty
------------------------------
date: Tue, 25 Sep 2007 15:37:59 -0700
from: "Clapham, Paul" <pclapham@xxxxxxxxxxxxx>
subject: Why does CRTJVAPGM take so long sometimes?
Hello all,
Here's my situation. I have a process (identical copies running on
several iSeries machines) that runs a list of Java tasks, and this
process has "hot deployment" built into it. What that means is this:
There is a reference directory where the jar file for the application
resides. To hot-deploy the application, I simply drop the new version of
the jar file into that directory.
When the process detects the new jar file, it stops each task and copies
the jar file into the task's classpath. Then it starts the task again.
(It's Java code doing this, it just copies the jar file in the obvious
way.) And in the stdout of the process I see a lot of lines that say
"Attaching Java program to...".
The problem is, on some machines this hot-deployment procedure takes a
ridiculously long time. At present the application is less than 200
classes and the jar file is about 300K. On one machine it takes about a
minute and a half to do this for each task, whereas on another machine
it takes less than 10 seconds. And when you multiply that by 50 or 100
tasks, you can't even call it lukewarm deployment.
When I use DSPJVAPGM to see what the procedure did, it says
"Optimization... *INTERPRET" so I don't believe I can ask for anything
less than that. So what can I look at to see why it takes so long?
Regards
Paul Clapham
As an Amazon Associate we earn from qualifying purchases.