Using the HelloWorld sample included with JZOS, I found that BPXBATCH was running it in about 6 seconds on average, whereas JZOS was taking about 20 seconds. This is not a problem for batch applications, but I would also like to use JZOS in real-time applications; in that case, a 15 second increase in response time is significant.
I turned on the tracing for JZOS, and I found that most of the time is spent inside the createJvm() function. Here is the relevant section of the trace output:
Code: Select all
01:32:51 JZOSVM13(T): -> initializeVMArgs()
01:32:51 JZOSVM13(T): vm_args.version: 10002
01:32:53 JZOSVM13(T): Allocating JVM options
01:32:53 JZOSVM13(T): Setting exit hook option
01:32:53 JZOSVM13(T): Setting abort hook option
01:32:53 JZOSVM13(T): Getting CLASSPATH
01:32:53 JZOSVM13(T): Setting classpath option
01:32:53 JZOSVM13(T): <- initializeVMArgs()
01:32:53 JZOSVM13(T): -> createJvm()
01:32:59 JZOSVM13(N): Java Virtual Machine created. Version information follows:
01:32:59 JZOSVM13(T): -> invoke()
01:33:06 JZOSVM13(D): About to invoke com.dovetail.jzos.ZUtil.getJavaVersionInfo()
01:33:06 JZOSVM13(T): <- invoke()
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1)
Classic VM (build 1.3.1, J2RE 1.3.1 IBM OS/390 Persistent Reusable VM build cm131s-20031114 (JIT enabled: jitc))
01:33:06 JZOSVM13(T): <- createJvm()