C ++ / CLI-код всегда оптимизирован в сборке Release, да.Кто является ключом, вы можете свободно смешивать, как вы смеете.Это имеет тенденцию идти не так, как надо: слишком много собственного кода C ++ компилируется в MSIL.Трудно заметить, генератор кода может обрабатывать любой совместимый код C ++ 03 и редко визжит о любых заклинаниях C ++ 1x.
Хорошее напоминание о том, что джиттер не сильно отличается от серверной части компилятора C ++.MSIL очень хорошо сравнивается, скажем, с IR, который нужен LLVM.IR, который компилятор MSVC ++ использует для собственного кода, не задокументирован и не виден.
Что делает целесообразным выделение собственного C ++, который вы переносите, в его собственную статическую библиотеку или DLL.Но микширование на уровне функций возможно, вы можете переключаться назад и вперед с помощью #pragma un / managed.
Так что, как и следовало ожидать, неуправляемый код #pragma получает полную любовь оптимизатораи управляемый #pragma оптимизируется во время выполнения джиттером.Вы найдете оптимизацию джиттера, задокументированную в этом посте .