Pavel Pervov said the following on 23.12.2008 10:34:
Guys,
Why you are in need of instrumentation?
You only want to measure the time spent in JNI_CreateJavaVM method. It
is very-very simple to create C-program which utilizes invocation API
to call to JNI_CreateJavaVM and calls to performance counters before
and after VM creation to calculate that time. This will be exactly the
"startup-time" according to Wenlong. Then you can run it through the
script supplied by Aleksey.
If you also want to include finding main class - you can look into our
launcher and borrow the code from there.
Invocation API rules. ;)
I don't quite agree. With lazy resolution CreateJavaVM doesn't really
execute most of Java code that is required to load user program and
execute all of the necessary code of system class loader which parses
jar files and stuff like that. This code is what takes the most time on
startup.
--
Gregory