В порядке бреда...
Могу на C# раскорячиться и написать быстрый код.
Производительность съедает :
1) вызов функций (если написать одним моноблоком то быстрее)
2) Отсутствие оптимизации вообще, хотя-бы на уровне циклов.
Про системные библиотеки вообще молчу...
Там после реверс инжиниринга в c# исходном коде небоскреб из GoTo, прыжки туда и обратно много раз... В общем полный Биг Мак.
3) Говорят в C# можно писать в не безопасном коде (Unsafe code) через указатели. Это правда.
4) Говорят в C# есть аппаратное (моментальное) сложение массивов одинаковой длинны, через специализированны тип данных (по моему это вектор) и mmx мультимедийные регистры (либо видеокарта, либо графический сопроцессор - это догадки). В c# также при пошаговом исполнении можно перейти к дизассемблеру, как и в с++. В общем экспериментируйте сами...
Подтвердить самому не удалось, не хватило времени.
В c# ассемблерных вставок нет .
5) универсальный или абстрактный инструментарий.
На рефлексии алгоритм глубокого копирования (если сумеете написать), работает допустим 18 секунд.
Если написать подхват-интерфейс для глубокого копирования и реализовывать его в каждом частном случае, то работает примерно 5 секунд.
Ситуацию может исправить сильная 64 битная машина с грамотной реализацией многопоточности или многозадачности в самом программном коде, но это не панацея.
Ситуацию может исправить туча микросервисов (TCP, UDP, HTTP), распределенная по сети слабых машин, как на крупных торговых площадках типа Ozon или Ali..., говорят так было лет 10 что ли назад. Не хотелось бы майнить...
(на изыскания ушел месяц или два в фоновом режиме)
Быстрый код - в промышленных масштабах это свойство теряется - там до неприличия: "Чих пых, тыры пыры, носки в уши, ноги в продакшен" (дословная цитата). Видел корпоративное приложение на C#, что загружается 5 минут. - Это диагноз невменяемости. И не пытайтесь не перепрете!!!
Нарочно постараются и сделают 10 минут.
Все надоело - учу FlatAssembler.