<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" face="Arial" size="4">HI,</font><div><font class="Apple-style-span" face="Arial" size="4"><br></font></div><div><font class="Apple-style-span" face="Arial" size="4">sgen is now working for me (thanks to a subtle bug fix for thread-local-storage by Zoltan).   However, for one application, <b>sgen is 25% slower</b> than the same with the boehm collector.   I am processing some GBs of timeseries data, though only evaluating a window at a time.   As the window reaches some size, older objects in the timeseries are dereferenced.   The object size is 88bytes, but generate many millions across the course of a run.</font></div><div><font class="Apple-style-span" face="Arial" size="4"><br></font></div><div><font class="Apple-style-span" face="Arial" size="4">I suspect that the nursery is too small, so that the objects I want to collect are now in the main heap.    Towards that end I wanted to extend the nursery, and attempted this:</font></div><div><font class="Apple-style-span" face="Arial" size="4"><br></font></div><div><font class="Apple-style-span" face="Arial" size="4">export <span style="color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(248, 248, 248); display: inline !important; float: none; ">MONO_GC_PARAMS="</span><span style="color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(248, 248, 248); display: inline !important; float: none; ">nursery-size=2g"</span></font></div><div><font class="Apple-style-span" face="Arial" size="4"><span style="color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(248, 248, 248); display: inline !important; float: none; "><br></span></font></div><div><font class="Apple-style-span" face="Arial" size="4"><span style="color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(248, 248, 248); display: inline !important; float: none; ">This causes mono to crash immediately, with:</span></font></div><div><font class="Apple-style-span" face="Arial" size="4"><span style="color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(248, 248, 248); display: inline !important; float: none; "><br></span></font></div><div><font class="Apple-style-span" face="Arial" size="4"><span style="color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(248, 248, 248); display: inline !important; float: none; "><div><span class="Apple-tab-span" style="white-space:pre">      </span>* Assertion at sgen-gc.c:1206, condition `idx < section->num_scan_start' not met</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>...</div><div><br></div><div>(this is on linux with the latest code on master, roughly 2.11.3+)</div><div><br></div><div>I took a look at the code, but requires too much context for me to understand the real cause of the issue.   I am guessing that there is some assumption re: the size of the nursery, block size, etc.</div><div><br></div><div>Finally, I am interested in trying the "copying collector" as discussed in this blog entry: </div><div><br></div><div><a href="http://schani.wordpress.com/2011/01/10/sgen-the-major-collectors/">http://schani.wordpress.com/2011/01/10/sgen-the-major-collectors/</a></div><div><br></div><div>I'm wondering if will get some performance advantages with this approach, whereas the nursery may be too small for my garbage working set.</div><div><br></div><div>Ideas?</div><div><br></div><div>Thanks</div><div>Jonathan</div></span></font></div><div><span style="color: rgb(51, 51, 51); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(248, 248, 248); display: inline !important; float: none; "><font class="Apple-style-span" face="Arial" size="4"><br></font></span></div><div style="text-align: left;"><font class="Apple-style-span" color="#333333" face="Consolas, Courier, 'DejaVu Sans Mono', monospace"><span class="Apple-style-span" style="font-size: 16px; "><br></span></font></div></body></html>