[Mono-dev] GC startup time on windows (in DllMain)

Robert Jordan robertj at gmx.net
Wed Feb 22 08:21:58 EST 2006


Hey,

> When profiling our startup times on Windows, I noticed that GC_init
> takes quite long (~1.5 seconds on P4 3GHz), called from DllMain.
> 
> The call graph goes roughly like this: DllMain -> GC_init ->
> GC_init_inner -> GC_gcollect_inner (GC_try_to_collect_inner) ->
> GC_stopped_mark -> GC_mark_some_inner -> GC_mark_from. In
> GC_mark_from, still 1.5 seconds spent.
> 
> After that it's strange - VTune just does not say anything - 1.5
> seconds spent in there, nothing spent in functions called from it.
> 
> We do not have this issue on Macs, where loading mono bundle takes
> almost no time. When I tested our windows version under VMWare, the
> startup time was also fast for some reason.

Just a wild guess: your P4 is a SMP machine (hyperthreading).
Since VMware (where you said the startup time is fast) doesn't
simulate SMP, I'd say this is a SMP problem of the GC.

Robert




More information about the Mono-devel-list mailing list