Я бы лично настроил тестовый комплект с простым выражением, написанным на C # и неуправляемом C ++, а затем профилировал приложение, чтобы увидеть, с каким перепадом производительности вы работаете.
Еще одна вещь, которую следует учитывать, - это то, что вы столкнетесь с проблемой обслуживания приложения, особенно если у вас есть разработчики младшего уровня, которые должны поддерживать код. Убедитесь, что вы знаете, что вы получаете и что вы теряете, в зависимости от производительности, а также ясности кода и удобства сопровождения.
Кроме того, JIT-код C # должен иметь производительность наравне с C ++ в отношении арифметических операций.