[Mono-dev] GC startup time on windows (in DllMain)
robertj at gmx.net
Wed Feb 22 08:21:58 EST 2006
> 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.
More information about the Mono-devel-list