The mono JIT by default doesn't perform arrays bounds check elimination as it's a pretty expensive computation.
You can try running it with --O=abcrem with enables it. To look at the generated code of a given method use the MONO_VERBOSE_METHOD enviroment variable. Set it to the name of the method you want. On Fri, Jan 29, 2010 at 12:00 AM, Jonathan Shore <[email protected]>wrote: > Hi, > > I'm quite familiar with both the .NET and Java development environments, > but only recently have begun to experiment with mono, so forgive me if I'm > not clued-in. > > I specialize in numerical work that often involves a lot large-scale array > manipulation for linear algebra, timeseries, etc. My main production > platforms are OSX and Linux. I've been doing most of my work on the JVM > over the past few years, though spent a couple of years with .NET when it > was pre-release / pre-1.0. > > My main interest is in Ocaml, particularly the F# variant as the basis for > my numerical work. > > One of the first things I do when considering a platform is run benchmarks, > as performance is critical for what I do. Starting with C# I wrote a test > to gauge the array-access overhead associated with the platform. Without > knowing how to tweak the mono runtime to turn on any particular > optimisations, the results were quite poor for this specific test (see code > at the end of this posting). > > > The test on my MacPro 2.6 Ghz / Snow Leopard with mono 2.6.1 gave the > result of: > > >
_______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
