IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Comparaison de librairies manipulant des données textuelles

Date de publication : 23/03/2008

Par B. Le Roux (b-le-roux.developpez.com)
 

Comparaison de librairies manipulant des données textuelles

I. Environnement d'exécution
II. CompareTo
II-A. Elements de la comparaison
II-B. Résultats
II-C. Résultats relatifs
II-D. Résultats graphiques
III. Concaténation
III-A. Elements de la comparaison
III-B. Résultats
III-C. Résultats relatifs
III-D. Résultats graphiques
IV. Delete
IV-A. Elements de la comparaison
IV-B. Résultats
IV-C. Résultats relatifs
IV-D. Résultats graphiques
V. Equals
V-A. Elements de la comparaison
V-B. Résultats
V-C. Résultats relatifs
V-D. Résultats graphiques
VI. EqualsIgnoreCase
VI-A. Elements de la comparaison
VI-B. Résultats
VI-C. Résultats relatifs
VI-D. Résultats graphiques
VII. IndexOf
II-A. Elements de la comparaison
II-B. Résultats
II-C. Résultats relatifs
II-D. Résultats graphiques
VIII. Insert
VIII-A. Elements de la comparaison
VIII-B. Résultats
VIII-C. Résultats relatifs
VIII-D. Résultats graphiques
IX. ReplaceAll
IX-A. Elements de la comparaison
IX-B. Résultats
IX-C. Résultats relatifs
IX-D. Résultats graphiques
X. Split
X-A. Elements de la comparaison
X-B. Résultats
X-C. Résultats relatifs
X-D. Résultats graphiques
XI. Substring
XI-A. Elements de la comparaison
XI-B. Résultats
XI-C. Résultats relatifs
XI-D. Résultats graphiques
XII. ToUpperCase
XII-A. Elements de la comparaison
XII-B. Résultats
XII-C. Résultats relatifs
XII-D. Résultats graphiques
XIII. Trim
XIII-A. Elements de la comparaison
XIII-B. Résultats
XIII-C. Résultats relatifs
XIII-D. Résultats graphiques
XIV. Grandes chaines
XIV-A. Elements de la comparaison
XIV-B. Résultats
XIV-C. Résultats relatifs
XIV-D. Résultats graphiques


I. Environnement d'exécution

Différents paramètres lors de l'exécution

caractéristique valeur
Nom de l'OSWindows XP
Architecture de l'OSx86
Version JRE1.6.0_03
Editeur JRESun Microsystems Inc.

II. CompareTo

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


II-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_compareToOuiComparaison d'une chaine avec une autre en utilisant la méthode compareTo
Javolution 5.2 javolution_Text_compareToNonComparaison d'une chaine avec une autre en utilisant la méthode compareTo

II-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_compareTo00:00 036
Javolutionjavolution_Text_compareTo00:00 918

II-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_compareTo100
Javolutionjavolution_Text_compareTo2550

II-D. Résultats graphiques



III. Concaténation

but : Concaténation 10000 fois d'une chaine d'une longueur de 10 caractères
Nombre d'itérations : 10000
Nombre de répétitions : 10


III-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_plusOuiConcaténation de String grâce à l'opérateur +
jre_String_concatNonConcaténation de String grâce à la méthode concat
Sun JRE StringBuffer 1.6 jre_StringBuffer_append_StringNonConcaténation de StringBuffer grâce append(String)
jre_StringBuffer_appendNonConcatenation de StringBuffer grâce append(StringBuffer)
Sun JRE StringBuilder 1.6 jre_StringBuilder_append_StringNonConcaténation de StringBuilder grâce append(String)
jre_StringBuilder_appendNonConcaténation de StringBuilder grâce append(StringBuilder)
jre_StringBuilder_append_StringBufferNonConcatenation de StringBuilder grâce append(StringBuffer)
Apache Commons Lang 2.3 commonslang_StrBuilder_append_StringNonConcaténation de StrBuilder grâce append(String)
commonslang_StrBuilder_appendNonConcaténation de StrBuilder grâce append(StrBuilder)
commonslang_StrBuilder_append_StringBufferNonConcaténation de StrBuilder grâce append(StringBuffer)
Javolution 5.2 javolution_Text_concatNonConcaténation de Text grâce concat
javolution_TextBuilder_appendNonConcaténation de TextBuilder grâce append

III-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_plus00:04 532
jre_String_concat00:01 182
Sun JRE StringBufferjre_StringBuffer_append_String00:00 000
jre_StringBuffer_append00:00 003
Sun JRE StringBuilderjre_StringBuilder_append_String00:00 001
jre_StringBuilder_append00:00 003
jre_StringBuilder_append_StringBuffer00:00 001
Apache Commons Langcommonslang_StrBuilder_append_String00:01 192
commonslang_StrBuilder_append00:01 201
commonslang_StrBuilder_append_StringBuffer00:01 190
Javolutionjavolution_Text_concat00:00 007
javolution_TextBuilder_append00:00 004

III-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_plus100
jre_String_concat26
Sun JRE StringBufferjre_StringBuffer_append_String0
jre_StringBuffer_append0
Sun JRE StringBuilderjre_StringBuilder_append_String0
jre_StringBuilder_append0
jre_StringBuilder_append_StringBuffer0
Apache Commons Langcommonslang_StrBuilder_append_String26
commonslang_StrBuilder_append26
commonslang_StrBuilder_append_StringBuffer26
Javolutionjavolution_Text_concat0
javolution_TextBuilder_append0

III-D. Résultats graphiques



IV. Delete

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


IV-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_deleteOuiSuppression d'une chaine dans une autre en écrivant une méthode
Jodd Build 295 jodd_StringUtil_deleteNonSuppression d'une chaine dans une autre avec la méthode remove
Sun JRE StringBuffer 1.6 jre_StringBuffer_deleteNonSuppression d'une chaine dans une autre
Sun JRE StringBuilder 1.6 jre_StringBuilder_deleteNonSuppression d'une chaine dans une autre
Apache Commons Lang 2.3 commonslang_StrBuilder_deleteNonSuppression d'une chaine dans une autre

IV-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_delete00:00 018
Joddjodd_StringUtil_delete00:00 018
Sun JRE StringBufferjre_StringBuffer_delete00:00 028
Sun JRE StringBuilderjre_StringBuilder_delete00:00 023
Apache Commons Langcommonslang_StrBuilder_delete00:00 076

IV-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_delete100
Joddjodd_StringUtil_delete100
Sun JRE StringBufferjre_StringBuffer_delete155
Sun JRE StringBuilderjre_StringBuilder_delete127
Apache Commons Langcommonslang_StrBuilder_delete422

IV-D. Résultats graphiques



V. Equals

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


V-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_equalsOuiComparaison d'une chaine avec une autre en utilisant la méthode equals
Jodd Build 295 jodd_StringUtil_equalsNonComparaison d'une chaine avec une autre en utilisant la méthode equals
Sun JRE StringBuffer 1.6 jre_StringBuffer_equalsNonComparaison d'une chaine avec une autre en utilisant la méthode equals
Sun JRE StringBuilder 1.6 jre_StringBuilder_equalsNonComparaison d'une chaine avec une autre en utilisant la méthode equals
Apache Commons Lang 2.3 commonslang_StrBuilder_equalsNonComparaison d'une chaine avec une autre en utilisant la méthode equals
Javolution 5.2 javolution_Text_equalsNonComparaison d'une chaine avec une autre en utilisant la méthode contentEquals

V-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_equals00:00 046
Joddjodd_StringUtil_equals00:00 046
Sun JRE StringBufferjre_StringBuffer_equals00:00 000
Sun JRE StringBuilderjre_StringBuilder_equals00:00 000
Apache Commons Langcommonslang_StrBuilder_equals00:00 024
Javolutionjavolution_Text_equals00:00 551

V-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_equals100
Joddjodd_StringUtil_equals100
Sun JRE StringBufferjre_StringBuffer_equals0
Sun JRE StringBuilderjre_StringBuilder_equals0
Apache Commons Langcommonslang_StrBuilder_equals52
Javolutionjavolution_Text_equals1197

V-D. Résultats graphiques



VI. EqualsIgnoreCase

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


VI-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_equalsIgnoreCaseOuiComparaison d'une chaine avec une autre en utilisant la méthode equalsIgnoreCase
Apache Commons Lang 2.3 commonslang_StrBuilder_equalsIgnoreCaseNonComparaison d'une chaine avec une autre en utilisant la méthode equalsIgnoreCase
Javolution 5.2 javolution_Text_equalsIgnoreCaseNonComparaison d'une chaine avec une autre en utilisant la méthode contentEqualsIgnoreCase

VI-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_equalsIgnoreCase00:00 050
Apache Commons Langcommonslang_StrBuilder_equalsIgnoreCase00:00 064
Javolutionjavolution_Text_equalsIgnoreCase00:00 523

VI-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_equalsIgnoreCase100
Apache Commons Langcommonslang_StrBuilder_equalsIgnoreCase128
Javolutionjavolution_Text_equalsIgnoreCase1046

VI-D. Résultats graphiques



VII. IndexOf

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


II-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_IndexOfOuirecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Sun JRE StringBuffer 1.6 jre_StringBuffer_IndexOfNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Sun JRE StringBuilder 1.6 jre_StringBuilder_IndexOfNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Apache Commons Lang 2.3 commonslang_StrBuilder_IndexOfNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Javolution 5.2 javolution_Text_IndexOfNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
StringSearch 1.2 StringSearch_BMHRNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2

II-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_IndexOf00:00 060
Sun JRE StringBufferjre_StringBuffer_IndexOf00:00 061
Sun JRE StringBuilderjre_StringBuilder_IndexOf00:00 062
Apache Commons Langcommonslang_StrBuilder_IndexOf00:00 137
Javolutionjavolution_Text_IndexOf00:00 604
StringSearchStringSearch_BMHR00:00 035

II-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_IndexOf100
Sun JRE StringBufferjre_StringBuffer_IndexOf101
Sun JRE StringBuilderjre_StringBuilder_IndexOf103
Apache Commons Langcommonslang_StrBuilder_IndexOf228
Javolutionjavolution_Text_IndexOf1006
StringSearchStringSearch_BMHR58

II-D. Résultats graphiques



VIII. Insert

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


VIII-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_insertOuiInsertion d'une chaine dans une autre en écrivant une méthode
Sun JRE StringBuffer 1.6 jre_StringBuffer_insertNonInsertion d'une chaine dans une autre
Sun JRE StringBuilder 1.6 jre_StringBuilder_insertNonInsertion d'une chaine dans une autre
Apache Commons Lang 2.3 commonslang_StrBuilder_insertNonInsertion d'une chaine dans une autre
Javolution 5.2 javolution_Text_insertNonInsertion d'une chaine dans une autre

VIII-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_insert00:21 957
Sun JRE StringBufferjre_StringBuffer_insert00:09 156
Sun JRE StringBuilderjre_StringBuilder_insert00:09 218
Apache Commons Langcommonslang_StrBuilder_insert00:29 373
Javolutionjavolution_Text_insert00:00 018

VIII-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_insert100
Sun JRE StringBufferjre_StringBuffer_insert41
Sun JRE StringBuilderjre_StringBuilder_insert41
Apache Commons Langcommonslang_StrBuilder_insert133
Javolutionjavolution_Text_insert0

VIII-D. Résultats graphiques



IX. ReplaceAll

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


IX-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_replaceAllOuiRemplacement les occurences d'une chaine dans une autre chaine
Jodd Build 295 jodd_StringUtil_replaceNonRemplacement les occurences d'une chaine dans une autre chaine
Apache Commons Lang 2.3 commonslang_StrBuilder_replaceAllNonRemplacement les occurences d'une chaine dans une autre chaine
Javolution 5.2 javolution_Text_replaceNonRemplacement les occurences d'une chaine dans une autre chaine

IX-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_replaceAll00:01 195
Joddjodd_StringUtil_replace00:00 235
Apache Commons Langcommonslang_StrBuilder_replaceAll00:03 918
Javolutionjavolution_Text_replace00:01 571

IX-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_replaceAll100
Joddjodd_StringUtil_replace19
Apache Commons Langcommonslang_StrBuilder_replaceAll327
Javolutionjavolution_Text_replace131

IX-D. Résultats graphiques



X. Split

but : Découpage d'une chaine d'une longueur de 2700 caractères en 100 sous chaines (séparateur ;)
Nombre d'itérations : 10000
Nombre de répétitions : 10


X-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_splitOuiSplit d'une chaine grâce à la méthode split
jre_String_split_RegexpNonSplit d'une chaine grâce à la méthode split avec [;] comme paramètre
jre_Pattern_splitNonSplit d'une chaine grâce à la méthode split avec [;] comme paramètre
Jodd Build 295 jodd_StringUtil_splitNonDécoupage de chaine avec StringUtil.split
jodd_StringUtil_splitcNonDécoupage de chaine avec StringUtil.splitc
Apache Commons Lang 2.3 commonslang_StrTokenizer_getTokenArrayNonDécoupage de chaine avec StrTokenizer
commonslang_StringUtils_splitNonDécoupage de chaine avec StringUtils.split

X-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_split00:01 064
jre_String_split_Regexp00:01 132
jre_Pattern_split00:01 124
Joddjodd_StringUtil_split00:00 249
jodd_StringUtil_splitc00:00 398
Apache Commons Langcommonslang_StrTokenizer_getTokenArray00:01 526
commonslang_StringUtils_split00:00 281

X-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_split100
jre_String_split_Regexp106
jre_Pattern_split105
Joddjodd_StringUtil_split23
jodd_StringUtil_splitc37
Apache Commons Langcommonslang_StrTokenizer_getTokenArray143
commonslang_StringUtils_split26

X-D. Résultats graphiques



XI. Substring

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


XI-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_substringOuiExtraction d'un partie de chaine grâce à substring
Sun JRE StringBuffer 1.6 jre_StringBuffer_substringNonExtraction d'un partie de chaine grâce à substring
Sun JRE StringBuilder 1.6 jre_StringBuilder_substringNonExtraction d'un partie de chaine grâce à substring
Apache Commons Lang 2.3 commonslang_StringUtils_substringNonExtraction d'un partie de chaine grâce à substring
commonslang_StrBuilder_substringNonExtraction d'un partie de chaine grâce à substring
Javolution 5.2 javolution_Text_subtextNonExtraction d'un partie de chaine grâce à subtext
javolution_TextBuilder_subsequenceNonExtraction d'un partie de chaine grâce à subSequence

XI-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_substring00:00 000
Sun JRE StringBufferjre_StringBuffer_substring00:00 023
Sun JRE StringBuilderjre_StringBuilder_substring00:00 018
Apache Commons Langcommonslang_StringUtils_substring00:00 000
commonslang_StrBuilder_substring00:00 015
Javolutionjavolution_Text_subtext00:00 017
javolution_TextBuilder_subsequence00:00 051

XI-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_substring0
Sun JRE StringBufferjre_StringBuffer_substring2300
Sun JRE StringBuilderjre_StringBuilder_substring1800
Apache Commons Langcommonslang_StringUtils_substring0
commonslang_StrBuilder_substring1500
Javolutionjavolution_Text_subtext1700
javolution_TextBuilder_subsequence5100

XI-D. Résultats graphiques



XII. ToUpperCase

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


XII-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_toUppercaseOuiConversion en majuscule
Javolution 5.2 javolution_Text_toUppercaseNonConversion en majuscule

XII-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_toUppercase00:00 251
Javolutionjavolution_Text_toUppercase00:00 231

XII-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_toUppercase100
Javolutionjavolution_Text_toUppercase92

XII-D. Résultats graphiques



XIII. Trim

but :
Nombre d'itérations : 10000
Nombre de répétitions : 10


XIII-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_trimOuiElimination des espaces en début et en fin d'une chaine
Jodd Build 295 jodd_StringUtil_trimNonElimination des espaces en début et en fin d'une chaine de type String avec StringHelper
Apache Commons Lang 2.3 commonslang_StringUtils_trimNonElimination des espaces en début et en fin d'une chaine de type String
commonslang_StrBuilder_trimNonElimination des espaces en début et en fin d'une chaine de type StrBuilder
Javolution 5.2 javolution_Text_trimNonElimination des espaces en début et en fin d'une chaine de type Text

XIII-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_trim00:00 006
Joddjodd_StringUtil_trim00:00 006
Apache Commons Langcommonslang_StringUtils_trim00:00 007
commonslang_StrBuilder_trim00:00 009
Javolutionjavolution_Text_trim00:00 067

XIII-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_trim100
Joddjodd_StringUtil_trim100
Apache Commons Langcommonslang_StringUtils_trim116
commonslang_StrBuilder_trim150
Javolutionjavolution_Text_trim1116

XIII-D. Résultats graphiques



XIV. Grandes chaines

but : Chaine de 100 000 cataères
Nombre d'itérations : 10000
Nombre de répétitions : 10


XIV-A. Elements de la comparaison

Nom de la librairie Version Nom du test Référence Commentaire
Sun JRE String 1.6 jre_String_IndexOf_bigOuirecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Sun JRE StringBuffer 1.6 jre_StringBuffer_IndexOf_bigNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Sun JRE StringBuilder 1.6 jre_StringBuilder_IndexOf_bigNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Apache Commons Lang 2.3 commonslang_StrBuilder_IndexOf_bigNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
Javolution 5.2 javolution_Text_IndexOf_bigNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2
StringSearch 1.2 StringSearch_BMHR_bigNonrecherche d'une chaine 1 dans une chaine 2. Chaine 1 n'est pas contenue dans chaine 2

XIV-B. Résultats

Librairie Temps moyen
Sun JRE Stringjre_String_IndexOf_big00:06 495
Sun JRE StringBufferjre_StringBuffer_IndexOf_big00:06 468
Sun JRE StringBuilderjre_StringBuilder_IndexOf_big00:06 420
Apache Commons Langcommonslang_StrBuilder_IndexOf_big00:14 241
Javolutionjavolution_Text_IndexOf_big02:10 267
StringSearchStringSearch_BMHR_big00:03 278

XIV-C. Résultats relatifs

Librairie % en comparaison à la référence
Sun JRE Stringjre_String_IndexOf_big100
Sun JRE StringBufferjre_StringBuffer_IndexOf_big99
Sun JRE StringBuilderjre_StringBuilder_IndexOf_big98
Apache Commons Langcommonslang_StrBuilder_IndexOf_big219
Javolutionjavolution_Text_IndexOf_big2005
StringSearchStringSearch_BMHR_big50

XIV-D. Résultats graphiques


Génération par BenJ



Valid XHTML 1.1!Valid CSS!

Copyright © 2008 B. Le Roux. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.