Environnement Visual Studio Community 2015
Bonjour à tous,
J'ai, pour projet, le développement d'une application, dans laquelle environ 1 million de calculs matriciels (image de coordonnées trigonométriques à convertir en nombres complexes) doivent être effectués.
J'ai donc réalisé un test assez bidon sur 2 vulgaires boucles imbriquées.
En C# (voir ci-dessous), la version release met 48 secondes pour afficher le "OK" final.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 static void Main(string[] args) { int c = 0; for (int a = 0; a < 10000000; a++) { for (int b = 0; b < 10000; b++) { c = b; } } Console.WriteLine("OK..."); }
En C++ (voir ci-dessous), la version release ne met qu'une seconde pour le même travail,
soit un rapport de 48 !
Ai-je fait une erreur dans la version release en C# ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int main() { int c = 0; for (int a = 0; a < 10000000; a++) { for (int b = 0; b < 10000; b++) { c = b; } } cout << "OK...\n"; return 0; }
Je préfèrerai réaliser l'application en C#, mais si un tel écart subsiste, il faudra passer sous C++.
Il est évident que ce test n'est pas représentatif des calculs futurs, mais le résultat m'amène des craintes relatives à la durée du traitement qui sera beaucoup plus compliqué.
Merci par avance pour vos commentaires.
Partager