[Mono-bugs] [Bug 327052] long shutdown with thousands of assemblies loaded

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Sep 21 06:37:23 EDT 2007


https://bugzilla.novell.com/show_bug.cgi?id=327052#c1


Paolo Molaro <lupus at novell.com> changed:

           What    |Removed                                         |Added
----------------------------------------------------------------------------
           Severity|Normal                                          |Minor
            Summary|Mono process shutdown takes 30 seconds and 100% |long shutdown with thousands of assemblies
                   |CPU                                             |loaded




--- Comment #1 from Paolo Molaro <lupus at novell.com>  2007-09-21 04:37:22 MST ---
At that point there are about 2500 asemblies that have to be unloaded.
There may be some O(n^2) component involved. One is the build_guid_table() in
image.c which I'll remove since it's useless (this reduced runtime from 32.4 to
30.6 seconds for me).
The rest is taken mostly by the new code which does the correct datastructure
cleanup for generics: this is more complicated to fix (an idea is to do a first
pass at the assemblies in an appdomain and mark the images that are going to be
unloaded, then doing the data structures cleanup looking for the unloading flag
which would be set on those images, instead of performing the whole process for
each image. Of course there is also the easier way to just check if we're
unloading the root domain which allows many assumptions about being able to
just destroy all the data structures and don't even look at them).
Downgrading the severity as this doesn't seem to be a common case worth to much
work.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list