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

Langages de programmation Discussion :

C# est il aussi performant que C++ ? C# est il plus performant que Visual Basic 6 ?


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Par défaut C# est il aussi performant que C++ ? C# est il plus performant que Visual Basic 6 ?
    Bonjour,

    J'aurais aimé avoir des indications sur la performance du langage C# :
    ce langage donne-t-il des résultats comparables au langage de programmation C++ en terme de rapidité ?

    En particulier : le langage de programmation C# permet-il de réaliser des applications plus plus performantes que feu Visual Basic 6 ?

    Merci d'avance pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Par défaut
    Il me semble que C# n'est ni plus rapide ni plus lent que VB.net (d'après quelques tests que j'ai fait). Et C++ est plus rapide...

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 299
    Par défaut
    Globalement le C# est logiquement un poil plus lent qu'un langage compilé natif vu qu'il passe par un pseudo code, une librairie enorme.
    Maintenant la perf d'un programme est surtout liée à tes algoritmes, et seulement un peu à la performance pure du compilo. En dehors de besoins tres particuliers, tu t'en fous.
    Mais tu n'as pas donnés tes besoins? On ne peut pas vraiment te répondre.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Par défaut
    Malgré leur noms semblable (habile tactique commerciale), C# et C++ n'ont strictement rien à voir. Il n'ont pas été créer dans le même but, n'ont pas la même utilité, pas les mêmes possibilité et pas les même performances.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 13
    Par défaut
    J'ai répondu à un post similaire sur ce forum il y a quelques jours en donnant de détails sur les écueils à éviter pour obtenir de bonnes performances.

  6. #6
    Invité
    Invité(e)
    Par défaut speedy
    si tu dois aller vraiment vite. C++ permet de "descendre" au plus près du processeur.
    C# non !

    C# n'a pas été développé pour permettre d'aller vite : pas de préprocesseur, pas de structures de données contigües. pas d'allocation globale de memoire.

    Ca ne veut pas dire qu'il est tres lent mais pour un rendu graphique en temps réel ou un traitement de signal par exemple, il est définitivement hors course par rapport au C ( ++ ou non) qui lui , a gardé l'esprit de ses créateurs des années 60 et permet à peu près tout ce que le hardware autorise. Au prix d'un développement beaucoup plus long et pointu cependant
    Je n'ai pas de conseil génial à donner, simplement , si tu fais vraiment du temps réel, C# ne suffira pas - et il est certain que ça ne change pas à l'avenir.

  7. #7
    Membre confirmé Avatar de Midou45
    Homme Profil pro
    Ingénieur
    Inscrit en
    Novembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 156
    Par défaut
    Dans cette logique, Java est aussi moins rapide que C++ ?? puisque Java et C# utilise presque le même principe, ou bien le faite que .net supporte bcp de langages influe sur la vitesse ? et pourquoi le java est utiliser pour des systèmes embarqués.

  8. #8
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par Midou45 Voir le message
    Dans cette logique, Java est aussi moins rapide que C++ ??
    Bah en même temps...

    Citation Envoyé par Midou45 Voir le message
    et pourquoi le java est utiliser pour des systèmes embarqués.
    Java, sous sa forme javacard est utilisé dans les carte à puce pour des raisons de sécurité et de cloisonnement des données, clairement pas pour ses performances...
    De même sur les téléphones portables, c'est une question de portabilité (quand une personne télécharge les binaires d'un jeu, pas besoin de se demander sur quel téléphone ça va être exécuté, juste qu'il y a une machine virtuelle) et de "sécurité" grace à la machine virtuelle qui sert de bac à sable. Là encore, rien à voir avec les perfs.

    Mais ceci n'a rien à voir avec la question..

  9. #9
    Membre confirmé Avatar de Midou45
    Homme Profil pro
    Ingénieur
    Inscrit en
    Novembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 156
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    Mais ceci n'a rien à voir avec la question..

    Sa dépend de votre façon de voir les choses !

  10. #10
    Expert confirmé

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 891
    Par défaut
    - C# est généralement aussi performant que VB.NET puisque c'est la même chose quasiment : dans les deux cas c'est basé sur le framework .NET et cela utilise la même technologie pour l'exécution.

    - Sur une machine récente avec assez de mémoire vive disponible, une application C# ou VB.NET peut être plus performante qu'une application faites avec Feu l'ancien Visual Basic 6, car VB6 n'a pas de compilation native et la technologie d'exécution de DotNET est plus moderne et performante que l'exécution du code pseudo compilé du feu VB6.

    - Généralement une applications compilée avec C++ pourra être plus rapide d'exécution qu'une application exécutée avec le framework .NET, cependant cela n'est pas toujours vrai car la technologie d'exécution des applications DotNET s'adapte dynamiquement à la machine cible alors que si tu diffuse un exécutable fait à partir de C++ il n'est nullement optimisé pour une machine cible en particulier. Bref avec les machines moderne dans plus de 90% des cas la performance des applications n'est pas un critère pour un choix technologique de cette importance.

  11. #11
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Citation Envoyé par jejerome Voir le message
    En particulier : le langage de programmation C# permet-il de réaliser des applications plus plus performantes que feu Visual Basic 6 ?
    VB6 est totalement à proscrire et c'est une technologie dépassée par rapport à C#/NET

    *C# et .NET supportent enfin le multithreading.
    C'était difficile de faire la même chose en VB6.

    *les exceptions sont mieux gérées en .NET . Et même pour ce qui est du code non managed
    Une dll écrite en C qui plante risque de faire planter le programme VB6 appelant.
    *il n'y a pas le "dll hell" qu'il y avait avec VB6.

    L'inconvénient majeur de C#/.Net c'est que la technologie est plus lourde donc il faut une machine plus puissante.

  12. #12
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 1
    Par défaut Tout-à-fait d'accord avec Mac Lak
    La réponse de Mac Lak est parfaite et précise bien les 3 types de technologies de développement d'application (interpréteur, pseudo-code managé, et compilation native) et leurs spécifités et limites.

    J'ai juste un petit bémol d'étonnement sur la chaine comparative de la vitesse d'exécution qu'il nous propose pour les langages compilés:

    Assembleur < C < C++ < Pascal/Delphi < ADA

    En particulier comment justifie-t-il C < C++ et surtout C++ < Pascal/Delphi

    Pour C < C++ je peux encore admettre une infime différence due aux indirections supplémentaires qu'induisent l'utilisation d'objets polymorphiques, en particulier lors des appels de méthodes virtuelles, mais en revanche comment justifier la différence C++ < Delphi, attendu que ces deux langages sont de technologies comparables, ne se différenciant essentiellement que par le choix de la syntaxe issue de C ou issue de Pascal. En ce qui me concerne je n'ai pas pratiqué le C++, j'ai développé longtemps sous Delphi avant de rejoinre le monde du pseudo code managé de C# .Net. Donc je suis mal placé pour véritablement juger de manière neutre et pragmatique d'une éventuelle différence d'efficacité fondamentale au bénéfice de C++ par rapport à l'excellent compilateur Delphi (et de ses optimisations du code généré) de feu Borland repris par Embarcadero. Je serais intéressé de connaitre les arguments qui permettent à Mac Lak de justifier son affirmation comparative.

    Sinon, encore une fois son résumé est excellent.

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par ChipRaptor Voir le message
    ...
    C'est un beau déterrage de thread (presque 4 ans depuis le message précédent !), mais il tombe à pic : Microsoft vient d'annoncer .NET native, qui ambitionne de donner aux applications .NET les performances de C++

  14. #14
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    salut Tomlev c'est une nouvelle incroyable,merci pour l'info et curieux que cela ne suscite pas plus de réaction..
    il n'y aura plus d'intérêt à programmer en C++ alors

  15. #15
    Membre Expert Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Par défaut
    Mat ! M'enfin... On est pas vendredi !

  16. #16
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Citation Envoyé par Cirrus Minor Voir le message
    Mat ! M'enfin... On est pas vendredi !
    non mais faut bien alimenter les discussions

Discussions similaires

  1. Réponses: 23
    Dernier message: 15/12/2011, 21h48
  2. Réponses: 11
    Dernier message: 03/09/2010, 10h22
  3. "Les Beatles sont plus populaires que Jesus" : c'est Google qui le dit !
    Par Katleen Erna dans le forum Humour Informatique
    Réponses: 3
    Dernier message: 24/09/2009, 12h12
  4. Réponses: 0
    Dernier message: 23/09/2009, 02h59
  5. Document imprimé - plus général que cela c'est pas possible
    Par pjmorce dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 10/01/2009, 23h29

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