Bonjour,
Je cherche des tests de performance entre .Net et C++.
Merci à tous ceux qui ont des liens ou des résultats
++
Bonjour,
Je cherche des tests de performance entre .Net et C++.
Merci à tous ceux qui ont des liens ou des résultats
++
C'est général comme question, les possibilités de test sont infinies, qu'est ce que tu recherches ?
De plus tu peux faire dire n'importe quoi à un test de performance, l'idéal est de comparer sur un programme complet, et pas sur le temps d'exécution d'une fonction.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
dans le principe je suis d'accord mais on peut de manière formelle comparer la rapidité d"un language.
Par exmple dans la gestion de gdes matrices ou la manipulation d'une gde quantité de données...
Mouais...Le problème est que les performances d'un langages ne sont pas toujours uniformes en fonction des scénarii. Un langage x peut être plus rapide que y sur certains types de traitement (et d'architecture) et plus lent sur d'autres...
Concernant .Net Vs C++, ne te casse pas trop la tête, C++ est globalement plus performant (en terme de rapidité d'exécution de code, entendons-nous bien). Cela dit, la différence est parfois très négligeable et même inexistante grâce à certaines optimisations à la volée effectuées par le CLR que C++ ne peut pas faire...
Google te fournira sans doute des tonnes de liens vers des tests...
C'est meme encore plus compliqué que cela.
Non seulement la CLR peut faire des optimisations que C++ ne peut pas faire, mais en plus la CLR compile en arriere plan des pans entiers de code MSIL en code natif, puis exécute le code natif lorsqu'il est prêt en lieu et place de l'interprétation du MSIL. Et une fois qu'elle a achevé les fonctions critiques, elle compile tjs en arriere plan, le code moins usité. Le code pas ou peu utilisé n'est pas compilé.
Cette technique fait qu'au démarrage une appli .NET est lente, mais prend de vitesse avec le temps. Si l'appli est "petite" le temps de stabilisation est de l'ordre de quelques secondes.
Une appli .NET stabilisée en exécution peut parfois battre une appli directement codé en C++ natif, dans la meme boucle critique.
En effet, la CLR va appliquer la compilation avec des optimisations qu'elle peut faire qui vont dépendre du contexte d'exécution.
ton appli C++ est compilée à la compilation... et ces simplifications ne peuvent pas être évaluées puisqu'elles dépendent d'une phase qui suit la compilation.
Globallement, une application .NET demeure un peu plus lente qu'une appli native C++, mais le gain est souvent négligeable... sauf applications ultraspécifiques...
Quand à la manipulation de données, globallement si par manipulation de données tu entends base de données, là le rapport s'inverse littérallement et les appli .NET battent a plate couture tes appli C++ pour des bases supportées nativement comme SQL Server ou Oracle. (Cela vient des pilotes et des bibliothèques qui entre en jeu)
Ensuite tout dépend aussi de ta facon de programmer, mais globallement, un programme très bien écrit en .NET n'a pas a rougir face à son pendant C++ Natif.
En revanche alors que les techniques sont les memes entre la JVM et la CLR, globallement les appli JAVA sont nettement plus lente, et ca se ressent par rapport à une application native, et c'est encore pire si on a le malheur d'utiliser les SWING.
C'est pourquoi Java est a proscrire impérativement pour tout ce qui est serveur (a forte charge et réponse rapide), applications mathématiques lourdes.
.NET peut encore faire l'affaire, mais après tout dépend des besoins, et surtout de la façon dont sera programmée l'application.
Des mécanismes comme la Reflexion ou le Remoting sont très lent par essence, (cependant il n'y a pas d'équivalent de la Reflexion en natif)
et plombent littérallement les performances d'une application, mais sinon...
ok merci
Mais qui pourrait me communiquer un bench déja réaliser qui donne des exemples chiffrées pour (par exemple) les matrices, vecteurs, tableaux ...
Merki d'avance![]()
Partager