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

C# Discussion :

comment optimiser le code avec visual c# ?


Sujet :

C#

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    422
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 422
    Par défaut comment optimiser le code avec visual c# ?
    Salut,
    est ce que visual c# 2008 contient des outils qui permettent de produire du code optimisé(performance) ?
    C'est pour réaliser un petit bench (.net vs java)
    Merci beaucoup.

  2. #2
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Dans la version Team System de Visual Studio tu as des outils pour mesurer les performances de ton application ainsi que des outils d'analyse de ton code.

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Voici un lien super sympa, c est en anglais, mais c est tres bien fait !

    Performance dans C#

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    le code .net est toujours optimisé, il est compilé dans un langage intermédiaire, et n'est compilé qu'en code machine lors de l'execution
    le code est à ce moment là optimisé pour la machine en question (présence d'un OS 64bits, nombre de processeurs etc...)

    le framework .net est écrit en grande partie en .net, il est lui aussi compilé selon la machine mais il est compilé juste une fois par contre (c'est aussi faisable avec ngen.exe (fourni par microsoft) pour les applications qu'on fait, car à chaque démarrage, le code est recompilé au fur et à mesure de l'execution)

    il faut compiler en mode release pour avoir le max de performances, le mode debug ne compile pas de la même manière car le programme fait plein de choses en plus et garde des variables en mémoire pour pouvoir débugger ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par isoman Voir le message
    est ce que visual c# 2008 contient des outils qui permettent de produire du code optimisé(performance) ?


    Petite question bete, mais qu'entends tu par du code "optimise" ?

    est-ce que tu veux que visual studio gueule si tu fais des boucles imbriquees sur 5 niveaux, ou alors qu'il t'optimise tes foreach en for au moment de la compilation ???

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par pvialatte Voir le message
    alors qu'il t'optimise tes foreach en for au moment de la compilation ???
    S'il fait ça alors il est grave ... c'est pas de l'optimisation mais de la perte de perf ...
    un foreach est plus rapide qu'un for ... ne serait-ce que parce qu'il utilise un énumérateur et ne reparcours pas toute la collection à chaque accès.

  8. #8
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    un foreach est plus rapide qu'un for
    ca se discute (plus de code IL pour un foreach qu'un for, blablabla...)

    et de toute facon, c'est :
    1 - de la micro-optimisation
    2 - un exemple pour voir ce que demandait notre ami isoman
    3 - de toute facon pas tres important (le premier qui me dit qu'il a gagne 15 secondes a l'execution en changeant ses for en foreach ou vice-versa gagne toute mon estime et un aller simple en maison de repos )

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  9. #9
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    surtout que quand on voit le code qu'on tape et le code avec reflector une fois compilé en mode release, ca ressemble pas totalement
    donc le compilateur sait ce qu'il a à faire et optimise dejà certaines choses
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. comment optimiser le code avec eclipse ?
    Par isoman dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/10/2008, 16h36
  2. Reprise de code avec Visual C++
    Par usbeck dans le forum Visual C++
    Réponses: 26
    Dernier message: 10/08/2006, 15h17
  3. comment optimiser son code en calcul ???
    Par gronaze dans le forum C
    Réponses: 5
    Dernier message: 21/03/2006, 10h41
  4. [CF][C#] Comment optimiser mes requêtes avec SqlCE ?
    Par david71 dans le forum Windows Mobile
    Réponses: 10
    Dernier message: 20/01/2006, 14h48
  5. [Perf] Comment optimiser son code ?
    Par Frifron dans le forum Général Java
    Réponses: 12
    Dernier message: 11/08/2005, 09h05

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