Home > Benchmarks > Launch Time

Launch Time Testing

Before a managed application get launched and begin execution, the HnxGC system has to first initialize the core of garbage collector. It needs to load the HnxGC.dll, invoke some of procedures in the DLL and in turn calls user-provided callback functions (if exists), and so on. These actions will take some extra time.

Other garbage collection systems, such as .NET CLR and BDW may also have the similar initialization work to do. Many factors may affect the length of delay to launch a managed program, such as the numbers or the size of DLLs to load, the complicacy of the initialization works, etc.

In this testing, our goal is to measure and compare the launch time of a very simple program for several target GC systems. We designed two executiable programs, one is "laucher.exe" and the other is "child.exe". The laucher is the same for all the participant GC systems, it creates a global synchronization object and wait on it after launching the "child.exe" program, which will fire a signal on that synchronization object after creating a managed object indicating the garbage collection system is ready.

We measures the time elapsed waiting on the synchronization object in the "launcher.exe", roughly considering it as the time to get GC system ready to go. Here is the testing result.

C++             Time elapsed:  10.764 ms
HnxGC           Time elapsed:  14.426 ms
BDW             Time elapsed:  23.835 ms
.NET CLR        Time elapsed: 490.882 ms

From this testing, we can see that the launch time of HnxGC program is about 5 ms more than a native unmanaged program. That time may be considered as the extra cost to initialize the HnxGC system. The overall time cost of launching a HnxGC is significant faster than a .NET CLR program, of which the startup delay is around half a second, being perceivable for many people. (note - with a faster computer, the startup delay may be reduced to a degree that is imperceptible for human people)

See Also:
Download source code of these testings
The hardware and software environment for the testings
Home | Download | Terms of Use | Privacy Statement | Contact Us
Copyright@ 2008 hnxgc.harnixworld.com, All rights reserved.