N
neuneudr
Hi all,
I'm using small Java utilities called from scripts (mainly
shell scripts on Unix platforms).
One example would be something like:
find somedirectory -iname "*txt" -exec java -jar myprog.jar {} \;
Which could result in hundreds of call to the Java program.
JVM startup times have kept going down... And Java 1.6 is
continuing to show this (very good) trend.
Still... The JVM startup time are killing the perfs here.
Taking into account the fact that I want to continue using
these Java utilities (that is: I won't rewrite them in any
other language), is there any way to speed up JVM startup
time?
Particularly, I was thinking of the following: could I launch
one daemon-like Java process that would always be running
and that would take care of launching the various jars
when needed?
Would that help to prevent a new JVM startup everytime a
new .jar is launched?
So is it possible to have one (say one per user) JVM "always
on" and run new jars inside that JVM?
And the example would become, say:
find somedirectory -iname "*txt" -exec
littleUtilThatNotifiesMyJavaDaemon myprog.jar {} \;
That 'littleUtilThatNotifiesMyJavaDaemon' being "something" (you tell
me
that tells the running JVM that it should execute a new .jar.
I seems possible to do such a thing, but would this offer any
significant speedup?
I guess my question boils down to: if you run a .jar from another
Java program, can this be made to be faster than simply doing
a new "java -jar ...".
Any info greatly appreciated,
Driss
I'm using small Java utilities called from scripts (mainly
shell scripts on Unix platforms).
One example would be something like:
find somedirectory -iname "*txt" -exec java -jar myprog.jar {} \;
Which could result in hundreds of call to the Java program.
JVM startup times have kept going down... And Java 1.6 is
continuing to show this (very good) trend.
Still... The JVM startup time are killing the perfs here.
Taking into account the fact that I want to continue using
these Java utilities (that is: I won't rewrite them in any
other language), is there any way to speed up JVM startup
time?
Particularly, I was thinking of the following: could I launch
one daemon-like Java process that would always be running
and that would take care of launching the various jars
when needed?
Would that help to prevent a new JVM startup everytime a
new .jar is launched?
So is it possible to have one (say one per user) JVM "always
on" and run new jars inside that JVM?
And the example would become, say:
find somedirectory -iname "*txt" -exec
littleUtilThatNotifiesMyJavaDaemon myprog.jar {} \;
That 'littleUtilThatNotifiesMyJavaDaemon' being "something" (you tell
me
that tells the running JVM that it should execute a new .jar.
I seems possible to do such a thing, but would this offer any
significant speedup?
I guess my question boils down to: if you run a .jar from another
Java program, can this be made to be faster than simply doing
a new "java -jar ...".
Any info greatly appreciated,
Driss