По моему опыту,.NET в 2 - 3 раза медленнее, чем собственный. (Я реализовал L-BFGS для многомерной оптимизации).
Я отслеживал объявления в stackoverflow для http://www.centerspace.net/products/
скорость действительно потрясающая, скорость близка к собственному коду. Как они могут это сделать? Они сказали, что:
Q. Является ли NMath "чистым".NET?
а. Ответ зависит от вашего определения "pure.NET". NMath написан на С#, а также на небольшом управляемом С++ уровне. Однако для лучшей производительности основных операций с линейной алгеброй NMath полагается на встроенную библиотеку ядра Intel Math (входит в состав NMath). Но нет COM-компонентов, а не DLL - только сборки .NET. Кроме того, вся память, выделенная на уровне управляемого С++ и используемая собственным кодом, выделяется из управляемой кучи.
Может кто-нибудь объяснить мне больше?