IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

[.NEt Vs C++] Qui a des Tests ?


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Par défaut [.NEt Vs C++] Qui a des Tests ?
    Bonjour,
    Je cherche des tests de performance entre .Net et C++.
    Merci à tous ceux qui ont des liens ou des résultats

    ++

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    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

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Par défaut
    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...

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    Citation Envoyé par notalp Voir le message
    dans le principe je suis d'accord mais on peut de manière formelle comparer la rapidité d"un language.
    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...

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    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...

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Par défaut
    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

Discussions similaires

  1. [Tests] Je demande l'aide au gens qui font des tests
    Par pedrodarif dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 02/03/2012, 17h34
  2. Réponses: 3
    Dernier message: 09/12/2007, 18h07
  3. [VB.NET] MainMenu qui ouvre des forms...
    Par Pleymo dans le forum Windows Forms
    Réponses: 26
    Dernier message: 10/10/2005, 15h57
  4. [VB.NET] Classe qui pilote des Fichier .INI
    Par sygale dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/06/2004, 20h04
  5. [VB.Net] Faire du JS sur des contrôles côté serveur
    Par TagadaTsoin dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/11/2003, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo