Вот вам статья, где автор взял реализацию алгоритма по преобразованию Фурье и сделал сравнение в неуправляемом C++, Managed C++, C++/CLI и наконец C#.
Управляемый код оказался быстрее неоптимизированного C++ (во всех случаях) и в среднем такого же быстрого как оптимизированного по скорости C++.
Коронная фраза: There is nothing in .NET that means that it should automatically be much slower than native code, indeed, as these results have shown there are cases when managed code is quicker than unmanaged code. Anyone who tells you that .NET should be slower has not thought through the issues.
Вольный перевод: В .NET нет ничего что делало бы код медленнее чем нативный, и этот тест показал случаи где управляемый код даже быстрее чем неуправляемый. Любой кто говорит вам что .NET должен быть всегда медленнее, тот крикливый дурак [
