<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier" size="3"><SPAN class="Apple-style-span" style="font-size: 13px;"><BR></SPAN></FONT></DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Hmm. I am not so sure that this has made it, or works as advertised. i can see - in loading in a very large xml file - </DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Take this function</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>public void PopulateXMLString()</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                </SPAN>{</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>try</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>{</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>// Open xml file</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>XmlDocument doc = new XmlDocument();</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>// Turn off external url resolving (e.g. for schema validation)</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>doc.XmlResolver = null;</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>doc.LoadXml(_libraryXmlString);</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>// Read version</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>_version = doc.SelectSingleNode(XmlNode_PList).Attributes[XmlAttr_Version].Value;</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>if (_version != SupportedVersion) throw new FormatException("Can only decode version 1.0 specification files!");</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>// My Decode dict ( internal class)</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>_contents = Dict.Decode(doc.SelectSingleNode(XmlNode_PList + '/' + XmlNode_Dict));</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>}</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>catch (System.Threading.ThreadAbortException)</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>{</DIV><DIV>...</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>}</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>catch (Exception ex)</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>{</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>...</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                        </SPAN>}</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                </SPAN>}</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>This bloats to 200MB when reading a 23MB xml file - mostly in doc.LoadXml(_libraryXmlString) as far as I can see ( although without a full debugger it is hard to tell) . I have also would do the same if it were read from disk at this point,   a process that is too slow in any case, so I load in the Cocoa layer instead.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>( i.e. to read fom disk I can use :</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>using (FileStream s = _libraryXmlFile.OpenRead())</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>{</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                        </SPAN>doc.Load(s);</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                                </SPAN>}</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>with the same results in terms of memory consumption, or worse)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>The size increase is possibly a bug in itself, since the .Net side on windows doing similar code does not bloat to that level.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>In any case the object that encapsulates this functionality does not need to hang around after it's contents are written to a different datastore.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>so I blow it away like so</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>if (xmlString.Length != 0)</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">                </SPAN>library.PopulateXMLString();</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>.. do stuff with the library contents</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>library = NULL;</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>GC.Collect();</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>The specific call to GC.Collect is just a test case, not normally in production code. In any case the code bloats and stays bloated. So I dont think that this fix has made it, unless I am doing somthing wrong :-)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV> Were I to download the sources, where should I look to see if this is in the suggested sources i.e. 1.2.2.1 ? Is there a way to tell from the dlls ( I suspect not). </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I should add this is really a deal breaker in terms of releasing the product, as you can imagine not releasing large amounts of memory is a big issue.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>thanks in advance.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>-- Eoin</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><BR><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier" size="3"><SPAN class="Apple-style-span" style="font-size: 13px;">According to your quote it's committed, thus likely in 1.2.2 (Dec </SPAN></FONT><FONT class="Apple-style-span" face="Courier" size="3"><SPAN class="Apple-style-span" style="font-size: 13px;"> </SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier" size="3"><SPAN class="Apple-style-span" style="font-size: 13px;">6th). There is no 2.1 just yet. :-)</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 13px/normal Courier; min-height: 16px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier" size="3"><SPAN class="Apple-style-span" style="font-size: 13px;">Andreas</SPAN></FONT></DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR><DIV><DIV>On 11 Jan 2007, at 12:11, Eoin Norris wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Is this scheduled for a release anytime soon, is it in 2.1?</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">-- Eoin</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">On 2 Dec 2006, at 00:07, Allan Hsu wrote:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">On Dec 1, 2006, at 2:55 PM, Miguel de Icaza wrote:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Hello,</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Nobody has objected to turning on -DUSE_MUNMAP under OS X since I</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">posted this email... Can somebody give me the go-ahead to commit the</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">configure.in change needed to switch over?</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Go ahead.</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Committed.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">--</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Allan Hsu &lt;allan at counterpop dot net&gt;</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">1E64 E20F 34D9 CBA7 1300<SPAN class="Apple-converted-space">  </SPAN>1457 AC37 CBBB 0E92 C779</DIV></BLOCKQUOTE></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><DIV><BLOCKQUOTE type="cite"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Mono-osx mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:Mono-osx@lists.ximian.com">Mono-osx@lists.ximian.com</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="http://lists.ximian.com/mailman/listinfo/mono-osx">http://lists.ximian.com/mailman/listinfo/mono-osx</A></DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> </BLOCKQUOTE></DIV><BR></BODY></HTML>