Za pomoci sociálnych sietí som sa dostal k článku, ktorý podľa môjho názoru kvalitne porovnáva výkonnosti C++ a C#.
Článok: http://www.codeproject.com/KB/cross-platform/BenchmarkCppVsDotNet.aspx
Priznám sa, nečítal som si ho celý od slova do slova, len som si ho preletel. Hlavné pozorovania ktoré som učinil sú:
- Ak programátor C# nepoužíva z pohodlnosti príliš komplikované postupy pre jednoduché problémy, tak jeho program beží podobne rýchlo ako jeho ekvivalent v C++ (až na epsilon rovné približne plus 5 percent). Ide hlavne o pohodlné funkcie .NET Framework-u (napr. načítavanie XML radšej ako binárky, používanie zbytočne veľkých knižníc ako WPF a podobne).
- C++ má najväčšiu výhodu pri výpočtovo náročných operáciach ako sú násobenie matíc, časté aritmetické operácie a podobne. Ak ide o vedecké výpočty, tak sa odporúča použiť dokonca FORTRAN.
- V programoch pre mobilné zariadenia si nikdy nemôžeme byť istý. V oboch prípadoch existujú algoritmy a dátové štruktúry, ktoré bežia prekvapivo pomaly.
Záver:
Vo väčšine prípadov je výhodnejšie použiť C# ako C++. Argumenty za sú: jednoduchšia syntax, rozšírená funkcionalita jazyka, .NET Framework a 100% InteliSense . C++ sa oplatí použiť vo výpočtovo náročných aplikáciách a v prípade lepšej kompatibility s používanými knižnicami ako DirectX alebo OpenGL.