In my experience, .net is 2 to 3 times slower than native code. (I implemented L-BFGS for multivariate optimization).
I have traced the ads on stackoverflow to http://www.centerspace.net/products/
the speed is really amazing, the speed is close to native code. How can they do that? They said that:
Q. Is NMath "pure" .NET?
A. The answer depends somewhat on your definition of "pure .NET". NMath is written in C#, plus a small Managed C++ layer. For better performance of basic linear algebra operations, however, NMath does rely on the native Intel Math Kernel Library (included with NMath). But there are no COM components, no DLLs--just .NET assemblies. Also, all memory allocated in the Managed C++ layer and used by native code is allocated from the managed heap.
Can someone explain more to me?
Thanks!