Hi, I'd like to add that you may gain something on MS JIT compiler using for (int i = 0 ; i < x.Length ; i++) instead of for (int i = 0 ; i < len ; i++)
This may seem counter intuitive, however that's the scenario in which JIT eliminates array bound checking for the x array (however not for the second one) as arrays have constant length. I am not sure whether Mini recognizes that. I'm pretty sure that Hotspot is much smarter here ;) As Zoltan wrote in the bug comments, enabling LLVM improves the results a lot. This is, I guess, due to much better register allocation in which domain Mini isn't too good - and probably other optimizations like better loop unrolling. If I remember correctly, there once was a branch of LLVM with array bounds check elimination, is it still developed? I am also curious which code patterns enable ABC elimination in Mini. On Sun, 2011-11-20 at 08:01 -0500, Jonathan Shore wrote: > Here is a link to and entry in bugzilla with attached code. I could > not send to the list: > > > http://bugzilla.xamarin.com/show_bug.cgi?id=2098 > -- Regards, Konrad _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list