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 :

concatenation & optimisation


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Développeur .NET
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Par défaut concatenation & optimisation
    Bonjour Mesdames et messieurs,

    Je voudrai savoir entre l'exemple 1 et 2 ce qui est plus obtimisé pour un concat de chaine.

    Exemple 1
    dim chaine as string = "AAAAAAAAAAA" _
    & "BBBBBBBBBBBBBB"

    Exemple 2
    dim chaine as string = "AAAAAAAAAAA"
    chaine = chaine + "BBBBBBBBBBBBBB"

    Rappel c'est juste une question que je me pose. car il y a d'autre forme de concat comme le string.concat par exemple.

    Merci pour vos réponse.

    ps: perso, je pense que le premier est mieux.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    si ton but est d'en concaténer plusieurs tu as le stringBuilder pour ça.

  3. #3
    Membre actif
    Profil pro
    Développeur .NET
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Par défaut
    Merci pour ta reponse, mais je sais bien ca. mais la vrai question n'est pas la. je veux juste savoir ce qui et le mieux entre c'est deux choix.

    Merci

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Dans l'ordre croissant des performances :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    // Concaténation "pourrie" :
    string toto1 = "titi" + "tata";
     
    // Utilisation de string.Format() :
    string toto2 = string.Format("{0}{1}", "titi", "tata");
     
    // Utilisation de moi-même (StringBuilder arf la bonne blague) :
    StringBuilder sb = new StringBuilder();
    sb.Append("titi");
    sb.Append("tata");
    string toto3 = sb.ToString();
     
    // Variante
    StringBuilder sb = new StringBuilder();
    sb.AppendFormat("{0}{1}", "titi", "tata");
    string toto4 = sb.ToString();
    Niveau lisibilité, je trouve que le string.Format est le plus lisible, et il permet de gérer un format et de concaténer des chaînes de caractères avec d'autres types.

    Personnellement :
    - Je proscrit bien évidement la première syntaxe, qui est illisible et lente
    - Lorsque j'ai beaucoup de petites variables à concaténer, j'utilise string.Format()
    - Lorsque j'ai de gros volumes à concaténer, StringBuilder
    - Lorsque je dois générer un fichier texte ligne par ligne, StringBuilder avec AppendFormat, afin d'ajouter une ligne à la fois

    C'est ce que j'ai trouvé de plus pratique comme compromis entre clareté du code et performances.

    Pour ce qui est de string.Contact, jamais utilisé. J'imagine que c'est des perfs proches de string.Format, mais je ne vois pas l'intérêt face à string.Format si c'est pour gagner 2 cycles CPU en contrepartie de la lisibilité du code.

  5. #5
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Sinon, pour en revenir au choix entre la peste et le choléra, je dirais que :
    - La première syntaxe sera "à coup sûr" plus rapide
    - La seconde devrait être transformée en la première au moment de la compilation

    Mais les deux sont à proscrire.

  6. #6
    Membre actif
    Profil pro
    Développeur .NET
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Par défaut
    ok c'est clair. Moi j'aime bien aussi le string .format.

    merci pour vos reponse.

    je vais pouvoir aller dire aux collégues qui me dise que ca change rien au performence que c'est faux et que j'ai raison ;-p

    cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation de votre SGBDR et de vos requêtes...
    Par SQLpro dans le forum Langage SQL
    Réponses: 35
    Dernier message: 11/01/2013, 12h49
  2. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 09h47
  3. probleme de concatenation
    Par cyna dans le forum C
    Réponses: 2
    Dernier message: 23/08/2002, 11h41
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 11h24

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