Gregory, VM creation module includes function call to parse jar file and load&initialize necessary classes stuffs. You can refer to the vm_init1() and vm_init2() for detail.
thx, Wenlong On Tue, Dec 23, 2008 at 8:01 PM, Gregory Shimansky <[email protected]> wrote: > 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 > >
