http://bugzilla.novell.com/show_bug.cgi?id=630759
http://bugzilla.novell.com/show_bug.cgi?id=630759#c1 --- Comment #1 from Mark Probst <[email protected]> 2010-08-12 16:18:13 UTC --- The problem here is that we don't have smart handling of indirect ref stores. We always invoke the write barrier for them because the store might be to the major heap. In this case the indirect store is to the stack, however, which doesn't need a write barrier. Here is a simpler example where the difference is even more pronounced: using System; using System.Diagnostics; public sealed class Program { struct S { Program p; public S (Program p) { this.p = p; } } public static void Main() { Stopwatch sw; Program p = new Program (); sw = Stopwatch.StartNew(); for (int nn = 0; nn < 300000000; ++nn) { S s = new S (p); } Console.WriteLine(sw.Elapsed + "\tM"); } } -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
