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 :

Rapidité de compilation C# Vs C++


Sujet :

Langages de programmation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut Rapidité de compilation C# Vs C++
    Quelqu'un a-il- comparé ou possède-t-il des résultats de comparaison entre la rapidité de compilation en C# et en C++ ?

    Je travaille dans mon stage avec des électroniciens qui ont toujours réalisé les applications de leurs produits en C/C++ et de préférence avec Visual C++ parce que la majorité de leurs clients travaillent sur Windows.

    Sachant que dans quelques années Muicrosoft aura liquidé VC++ (Je le pense) et que les prochaines versions de Windows seront plutôt faites pour des applications développées avec .NET (je le pense aussi), je me dis que les gars de la boite ou je travaille ont intérêt à migrer progressivement vers .NET (en particulier C#).

    Il me vient alors la question :Est-ce que C# compile aussi vite que C++ ?
    (Je sais que l'on préfère parfois C++ à Java parce que ce dernier est plutôt lent à la compilation comparé à C++.
    Alors qu'en est-il de C# ?

    Merci pour vos réponses/
    @+
    ----------------------------------
    Let the feast, start !
    Vitamines pour l'esprit : http://www.batisseurs-de-succes.com/

  2. #2
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    C++ (non managé) est plus rapide, mais de toute façon les machines deviennent de plus en plus puissantes donc la question est plutot faut il se prendre la tête avec des langages plus complexes et avoir un temps de développement plus long ?

    Si les applications ne sont pas critiques et qu'une demi seconde n'a pas grande importance, oui vous pouvez utiliser C#.
    Si vous cherchez à aller le plus vite possible alors restez en C.

    Passer à .NET vous permettra de développer vos applications Windows plsu rapidement, mais ces dernières seont plus lentes que l'équivalent en C/C++.
    1)http://www.developpez.com/cours/
    2)Recherche
    3)Posez votre question en suivant les règles
    _oOo-DrQ-oOo_

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par DrQ
    C++ (non managé) est plus rapide, mais de toute façon les machines deviennent de plus en plus puissantes [...]
    Passer à .NET vous permettra de développer vos applications Windows plsu rapidement, mais ces dernières seont plus lentes que l'équivalent en C/C++.
    Vous avez de toutes les façons raison. La vitesse des micropocesseurs fera oublier la lenteur de la compilation. Je pensais aussi un peu la même chose. Et puis ceux avec qui je bosse seront bien obligés de passer un jour ou l'autre à .NET.
    Reste à les convaincre de le faire assez vite!!!

    Merci pour la réponse DrQ
    ----------------------------------
    Let the feast, start !
    Vitamines pour l'esprit : http://www.batisseurs-de-succes.com/

  4. #4
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 61
    Points : 83
    Points
    83
    Par défaut
    Je trouve curieux que tu te poses la question sur la rapidité de
    compilation au lieu de la rapidité d'exécution comparée
    de C++/C#

    La compilation n'est qu'une étape pour générer le programme.
    Tout le reste du temps ton programme sera exécuté donc
    la question de la vitesse d'exécution à mes yeux est plus
    sinon aussi importante que la vitesse de compilation.

    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Tu as raison olrt,
    Alors pendant qu'on y est a tu une réponse à la question que tu soulève ?
    Sinon quelqu'un d'autre peut-il répondre ?
    @+
    ----------------------------------
    Let the feast, start !
    Vitamines pour l'esprit : http://www.batisseurs-de-succes.com/

  6. #6
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    puisque votre ambition est de passer à .NET

    n'aurait-il pas été plus judicieux de vouloir comparer

    C++.NET et VC++ ?

    comparer C# avec VC++ a-t-il un sens ?

  7. #7
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 61
    Points : 83
    Points
    83
    Par défaut
    On peut toujours comparer la vitesse d'exécution d'un même algo écrit en deux langages différents.
    Cependant cela ne suffira pas à dire que tel langage est plus rapide que l'autre.
    En effet la syntaxe des langages est différente.
    Un algorithme donné sera peut-être mieux exprimé par un langage donné car sa syntaxe est plus adaptée. Et le compilateur générera un code plus efficace dans ce cas là.

    Néanmoins je donnerais l'avantage à des langages qui offrent un plus grand contrôle sur la machine sur différents points (accès aux périphériques, à la mémoire, etc.).

    Je voudrais également soulever une question sur l'exécution de code "managé" (c'est-à-dire du code qui s'exécute au-dessus de la machine CLR de Microsoft).

    J'ai lu ça et là que le code "managé" (code IL) était d'abord transformé en code natif avant d'être exécuté.
    Alors qu'est-ce qui garanti que le programme ne va pas faire des accès illégaux à la mémoire ?
    Ma réponse est que les accès mémoire du programme sont délégués à des routines (elles-même en code natif) appelées par le CLR.
    Avec évidemment un overhead dû à ces routines.

    Donc pour résumer :

    C et C++ :
    Plus grand contrôle sur la machine et donc temps d'exécution relativement plus "maîtrisé".
    En revanche voir si l'expressivité du langage est bien adaptée à l'algo à implanter.

    C# :
    Moins de contrôle sur la machine.
    En revanche voir si l'expressivité du langage est bien adaptée à l'algo à implanter.

Discussions similaires

  1. De la rapidité du code
    Par jfloviou dans le forum Contribuez
    Réponses: 233
    Dernier message: 29/05/2009, 02h17
  2. Problème de rapidité d'exécution ou compilation
    Par HASSIOMAR dans le forum Langage
    Réponses: 2
    Dernier message: 17/07/2008, 13h13
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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