Re: Opera Memory Fix


On 11/16/07, Kevin Kubasik <kevin kubasik net> wrote:
> The real issue is the reflection/serialization stuff, some of this
> might be mono issues, some might be on us, but there are a ton of
> strings hanging around in the XML serialization class libraries. There
> are over 8,000 System.MonoType instances that pretty much hang around
> (apperently they are not collectable, and abundantly used in
> reflection) . I'll keep the list posted if I discover anything we can
> do to reduce it.

Indeed, Mono type instances can't be collected.  This was a big reason
why we moved to requiring plugins (like backends and filters) to be
registered inside AssemblyInfo.  We were previously walking all the
types in all of the assemblies we had loaded.  Needless to say, when
we fixed this our memory usage dropped in half.

Anyway, these are all related to XmlSerializer.  The right thing to do
here really is to remove all the message passing stuff and replace it
with managed D-Bus.  Just throw away almost all of the old code.  I
think the end result will be (a) more memory friendly, (b) probably
faster, and (c) quite possibly simpler code.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]