Re: Support for GC.AddMemoryPressure()

Rodrigo Kumpera <[email protected]> Tue, 5 Jun 2012 09:16:03 -0300
Newsgroups gmane.comp.gnome.mono.garbage-collection
Message-ID <CACmR+BDaXWTZooTQj-c9eG_sqU_y8q88M-R2tmKEfc51pg4kzA@mail.gmail.com>
--===============1469656194==
Content-Type: multipart/alternative; boundary=14dae93a1495404c7f04c1b89df7

--14dae93a1495404c7f04c1b89df7
Content-Type: text/plain; charset=ISO-8859-1

On Tue, Jun 5, 2012 at 6:55 AM, glopes <[email protected]> wrote:

> That's very reassuring to hear :-)
> MemoryPressure is definitely a very convenient feature for certain
> wrappers (e.g. image processing), especially when built for functionally
> oriented languages like F# or even C# LINQ, and it's great to know we'll
> have support to make it fully functional in Mono.
>
> Would it be beneficial to have memory behavior tests run in Mono to
> benchmark this? Playing around with MemoryPressure personally has made me
> realize just how aggressive Microsoft's GC is. I've got the same
> application running on Windows .NET with a stable footprint of 80/90 MB and
> on Linux Mono it grows to more than 1 GB in less than a second. Basically
> image processing at high-resolution and fast frame-rates.
>

This is a classic example of what the memory pressure API is not for.
You're simply not disposing your native resources and the GC has
no business in doing it for you. For forcing it to do for you, you're
trading higher latencies for a mild convenience.



> Is there any place where one could follow/test the roadmap or current
> prototypes/source code for this?
>
> The code sits on a local branch and there is no roadmap when will it hit
mainline.

--14dae93a1495404c7f04c1b89df7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">On Tue, Jun 5, 2012 at 6:55 AM, glopes <=
span dir=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=3D"_=
blank">[email protected]</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
That&#39;s very reassuring to hear :-)<div>MemoryPressure is definitely a v=
ery convenient feature for certain wrappers (e.g. image processing), especi=
ally when built for functionally oriented languages like F# or even C# LINQ=
, and it&#39;s great to know we&#39;ll have support to make it fully functi=
onal in Mono.</div>

<div><br></div><div>Would it be beneficial to have memory behavior tests ru=
n in Mono to benchmark this? Playing around with MemoryPressure personally =
has made me realize just how aggressive Microsoft&#39;s GC is. I&#39;ve got=
 the same application running on Windows .NET with a stable footprint of 80=
/90 MB and on Linux Mono it grows to more than 1 GB in less than a second. =
Basically image processing at high-resolution and fast frame-rates.</div>
</blockquote><div><br></div><div>This is a classic example of what the memo=
ry pressure API is not for. You&#39;re simply not disposing your native res=
ources and the GC has</div><div>no business in doing it for you. For forcin=
g it to do for you, you&#39;re trading higher latencies for a mild convenie=
nce.</div>
<div><br></div><div>=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Is there a=
ny place where one could follow/test the roadmap or current prototypes/sour=
ce code for this?</div>
<div><br></div></blockquote><div>The code sits on a local branch and there =
is no roadmap when will it hit mainline.</div><div>=A0</div></div>

--14dae93a1495404c7f04c1b89df7--

--===============1469656194==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Mono-gc-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-gc-list

--===============1469656194==--