Es gibt KEINE markante Unterschied zwischen C und C++ in den Kompilerten Code, also im Geschwindigkeit. Allerdings ist es besser, *kein* .NET „C++“ zu verwenden, da es auch dort ein interpreter gibt.
Also… reines C+++, so rein wie möglich, ist eine exzellente Alternative. Es mag sein, dass es andere Sprachen gibt, die genauso schnell sind, oder ggf. 20% schneller… man kann immer noch in Assembler codieren (ich rate davon komplett ab, es sei denn, Sie sind ein echter Assembly experter und die Aufgabe ist sehr einfach oder extrem rein numerisch).
Ich würde C++ nehmen. Als Sprache. Wichtig ist aber, dass die Algoritmen schnell sind, und die Datenspeicherung auch. Das wird die grosse Unterschiede machen. C++ mit Algoritmen die Kosten von N^4 haben sind langsamer als Java algoritmen mit N^2 , wenn N *etwas* gross ist und die minimale Kosten nicht-trivial. Was ich damit meinen will, ist - passen Sie auf die Schleifen, eingebettete Schleifen, Funktionsaufrufe auf Funktionen, die wiederum Schleifen haben.
Versuchen Sie auch die Anzahl von Datenbankzugriffe zu minimieren (ihre Komplexität kann ruhiger steigern, besser ein komplexes JOIN als 2 hits in den DB), und die Dateizugriffe auch. Versuchen sie, alles in grosse „Blocks“ zu machen, anstatt elegante aber (leider) stark eingebettete und komplexe Strukturen, wo A ruft B und B ruft C an… obwohl eigentlich A das auch tut… etc. Da verliert man sehr schnell den Überblick auf die Kosten.
In notfall, haben sie einem Logging system bereit, den sie ausschalten können (eine C++ macro ist dafür ideal, #define LOGGING, #ifdef LOGGGING …), so dass sie die Performance-Probleme schneller erkennen können.
Viel Glück.