Accueil
Articles
Astuces
Vidéos
Actualités
Auteurs
A propos
Contact
S'enregistrer
|
S'identifier
S'identifier
Authentification invalide
N
om d'utilisateur
M
ot de Passe
S
e souvenir de moi la prochaine fois.
S'identifier
Annuler
S'enregistrer
Mot de passe oublié ?
Les concaténations de chaines en C#
Nous allons voir au travers de cet article les différents types de concaténations de chaines en C#, comment elles sont optimisées par le compilateur afin de vous aider à choisir la meilleure solution en fonction de votre contexte.
Par
Patrice Lamarche
publié le 02/03/2010 à 14:24, lu 4122 fois, 6 pages
1 commentaire(s)
Tags:
ADO.NET
,
C#
4 | StringBuilder VS String.Concat : Le match
1 | Introduction
2 | Opérateur + et String.Concat()
3 | System.Text.StringBuilder
4 | StringBuilder VS String.Concat : Le match
5 | String.Format
6 | Conclusion
StringBuilder VS String.Concat : Le match
Maintenant que nous avons vu comment fonctionnent la methode Concat du type String et le type StringBuilder, voyons comment se comportent ces deux méthodes d’un point de vue performance.
Commençons d’abord par définir la procédure de test mise en place.
Pour savoir dans quels cas utiliser la méthode Concat et dans quels cas utiliser le type StringBuilder, j’ai testé l’utilisation de ces deux techniques en étudiant l’évolution de leur performance en fonction du nombre de concaténations. J’ai donc effectué une série de tests en faisant varier le nombre de concaténations, le tout répété 10000 fois afin d’avoir des valeurs significatives.
Vous pouvez donc retrouver sur l’axe des abscisses le nombre de concaténations (de 1 à 10) et sur l’axe des ordonnées le temps d’exécution en ms.
Afin d’avoir des mesures pertinentes, j’ai également fait varier la taille de la chaine de caractères pour voir l’impact sur les performances. Vous pouvez retrouver ci-dessous les résultats pour des chaines de 32, 64 et 512 caractères.
Chaine de 32 caractères
Chaine de 64 caractères
Chaine de 512 caractères
Synthèse
Comme vous pouvez le constater la méthode Concat est plus performante que l’utilisation d’un StringBuilder pour un petit nombre de concaténation (4 dans le cas d’une chaine de 32 caractères). Sachant que le facteur mitigeant est la taille des chaines concaténées. Nous pouvons en effet constater que :
Plus la taille est importante et plus le gain en performance apporté par le StringBuilder est important (différence entre le temps d’exécution de la méthode Concat et de l’utilisation du StringBuilder)
Plus la taille est importante, et plus le nombre de concaténations nécessaires pour que le StringBuilder devienne plus performant que le String.Concat est faible.
1
2
3
4
5
6
»
Démarrer une discussion
Quand le nombre de chaines, préférez concat
Chargement ...
Discussion démarée par
bleroy
le 03/03/2010 à 09:00, 1 commentaire(s).
Ecrire un commentaire
Titre
Commentaire
Annuler