Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2121 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  11  12  13  ..  327  328  329  330  331  332
Auteur Sujet :

BlaBlaTech@JAVA [ELITE, viendez les boobs]

n°762373
veryfree
Posté le 14-06-2004 à 01:24:40  profilanswer
 

Reprise du message précédent :
stackOverflow [:dawa]

mood
Publicité
Posté le 14-06-2004 à 01:24:40  profilanswer
 

n°762376
nraynaud
lol
Posté le 14-06-2004 à 01:48:10  profilanswer
 

the real moins moins a écrit :

tu veux dire quand tu as viré equals(TextFragment other) ?

oui.


---------------
trainoo.com, c'est fini
n°763187
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-06-2004 à 17:31:36  profilanswer
 

Putain, le code d'URLEncoder de Sun :D
Les mecs créent un OutputStreamWriter pour chaque chaîne à encoder. Or, un OutputStreamWriter, par défaut le constructeur crée un tableau de 8096 bytes.
Résultat, sur 100000 chaînes à encoder, ça prend 3 secondes sur ma machine. Avec une méthode plus light qui n'utilise que du StringBuffer, c'est 200 ms [:itm] On gagne un facteur 15 en temps processeur (et j'ai pas maté la conso mémoire mais ça doit être rigolo).
 
En contexte industriel, sur notre appli, on passe 5 % du temps à créer des OutputStreamWriter à la con. Et on s'étonne de se bouffer des plans perfos de la part des clients [:joce]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°763192
the real m​oins moins
Posté le 14-06-2004 à 17:35:17  profilanswer
 

et ton url encoding basé sur des strings tu fais comment? paske l'idée du writer c'est qu'il gere l'encodage à ta place quoi, justement...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°763227
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-06-2004 à 18:10:12  profilanswer
 

the real moins moins a écrit :

et ton url encoding basé sur des strings tu fais comment? paske l'idée du writer c'est qu'il gere l'encodage à ta place quoi, justement...


Bin c'est juste le truc de base ; j'dis pas que je gère l'UTF-8 autres conneries du style comme un warrior, c'est juste que j'lis ma String, j'mate sir le caractère sur lequel je tombe est à encoder ou non pis vala. J'me doute qu'il y a une raison derrière l'implémentation de Sun m'enfin ça plombe nos perfos [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°763231
the real m​oins moins
Posté le 14-06-2004 à 18:12:39  profilanswer
 

claro


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°763233
the real m​oins moins
Posté le 14-06-2004 à 18:13:34  profilanswer
 

ha ben en plus si je lis bien (en vitesse), ils font quand meme plein de trucs de conversion à la main malgré leur writer...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°763234
the real m​oins moins
Posté le 14-06-2004 à 18:15:03  profilanswer
 

(euh ou t'as vu que l'outputstreamwriter faisait un buffer de 8000 par defaut :??:)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°763235
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-06-2004 à 18:15:52  profilanswer
 

the real moins moins a écrit :

ha ben en plus si je lis bien (en vitesse), ils font quand meme plein de trucs de conversion à la main malgré leur writer...


Ba en fait, j'vois pas trop à quoi sert le Writer :D La conversion, elle est pas dure, elle est écrite dans la javadoc (en gros, c'est %xy pour tous les caractères non alpha-numériques sauf .-_* et l'espace qui devient +). Donc y a certainement une raison à l'utilisation du Writer mais j'vois pas. Et pis dans notre appli, passer par le truc tout con avec StringBuffer suffit, donc on va pas trop chercher midi à 14h.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°763236
the real m​oins moins
Posté le 14-06-2004 à 18:17:52  profilanswer
 

tout à fait :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 14-06-2004 à 18:17:52  profilanswer
 

n°763237
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-06-2004 à 18:18:06  profilanswer
 

the real moins moins a écrit :

(euh ou t'as vu que l'outputstreamwriter faisait un buffer de 8000 par defaut :??:)


En 1.1.8, c'est vrai que j'ai pas précisé [:joce]
Constructeur privé de OutputStreamWriter, il font un new byte[defaultByteBufferSize] et defaultByteBufferSize = 8192 :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°763238
the real m​oins moins
Posté le 14-06-2004 à 18:19:50  profilanswer
 

ha bon paske ça a changé ça alors :o
enfin mtnt ça delegue à un truc de com.sun... donc on sait pas trop :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°763292
nraynaud
lol
Posté le 14-06-2004 à 19:34:15  profilanswer
 

the real moins moins a écrit :

ha bon paske ça a changé ça alors :o
enfin mtnt ça delegue à un truc de com.sun... donc on sait pas trop :o

ouaip, tout ce qui concerne les encoding a été rétrofité vers de trucs fermés, mais en unifiant au passage avec java.nio.


---------------
trainoo.com, c'est fini
n°763585
veryfree
Posté le 14-06-2004 à 23:17:16  profilanswer
 

y'a un truc qui etait bien avec la 1.3 c'est qu'en faisant maFrame.setVisible(true) lorsque celle ci etait iconifié ca l'a faisait clignoter.
avec la 1.4 j'ai toujours pas trouvé d'equivalent :(

n°767088
Jubijub
Parce que je le VD bien
Posté le 17-06-2004 à 12:18:25  profilanswer
 

tiens c'est amusant :  
 

Citation :


StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split  method of String or the java.util.regex package instead.


---------------
Jubi Photos : Flickr - 500px
n°767095
the real m​oins moins
Posté le 17-06-2004 à 12:20:20  profilanswer
 

[:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767097
uriel
blood pt.2
Posté le 17-06-2004 à 12:20:43  profilanswer
 

[:rofl] l'explication...


---------------
IVG en france
n°767104
nraynaud
lol
Posté le 17-06-2004 à 12:24:35  profilanswer
 

Jubijub a écrit :

tiens c'est amusant :  
 

Citation :


StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split  method of String or the java.util.regex package instead.



http://glenn.sanson.free.fr/killtheshadoks/s8.gif


---------------
trainoo.com, c'est fini
n°767108
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-06-2004 à 12:27:14  profilanswer
 

[:totoz]
Surtout qu'y a grosse perte de perfos :/ Sur ma machine et pour 1 000 000 de splits sur le caractère d'espace dans la chaîne "Jouli test de split", la fonction split() prend 4 secondes et l'utilisation de StringTokenizer 930 ms [:franck75]
Soit un rapport de 4 en faveur de StringTokenizer...


Message édité par Taiche le 17-06-2004 à 12:33:30

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°767114
nraynaud
lol
Posté le 17-06-2004 à 12:28:56  profilanswer
 

Taiche a écrit :

[:totoz]
Surtout qu'y a grosse perte de perfos :/ Sur 1 000 000 de splits sur le caractère d'espace dans la chaîne "Jouli test de split", la fonction split() est 4 fois plus lente que StringTokenizer [:franck75]

4 fois c'est pas grand'chose, mais c'est surtout se taper 40000 compilation d'expressions régulère dans le programme ...


---------------
trainoo.com, c'est fini
n°767116
the real m​oins moins
Posté le 17-06-2004 à 12:31:19  profilanswer
 

et tous les bugs qui vont avec [:ninipc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767119
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-06-2004 à 12:34:23  profilanswer
 

nraynaud a écrit :

4 fois c'est pas grand'chose, mais c'est surtout se taper 40000 compilation d'expressions régulère dans le programme ...


J'ai édité, mon message me semblait pas très clair :o
Un rapport de 4 me semble jouer dans un contexte de plusieurs milliers de traitements, quand même (sans compter la lisibilité du code et la maintenance qui va avec mais c't'une autre histoire).


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°767122
the real m​oins moins
Posté le 17-06-2004 à 12:37:16  profilanswer
 

qu'est-ce qui leur est passé par la tete?
jveux bien que ça soit deprécié parce que ça utilise Enumeration par exemple, mais remplacé par autre chose que les regex alors :/


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767123
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-06-2004 à 12:39:49  profilanswer
 

Ba surtout que c'est connu que les regexp c'est lourd à manipuler et que ça engendre que des emmerdes pour la lecture et la maintenance :/ Donner la possibilité de le faire, OK, l'imposer, non c'est crade :o


Message édité par Taiche le 17-06-2004 à 12:40:03

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°767124
the real m​oins moins
Posté le 17-06-2004 à 12:41:32  profilanswer
 

d'un autre coté ça doit etre compliqué à encapsuler pour retrouver les memes fonctionalités mais bon proute :o
 
sinon ton chiffre de 4x il vient d'ou?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767133
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-06-2004 à 12:56:29  profilanswer
 

the real moins moins a écrit :

d'un autre coté ça doit etre compliqué à encapsuler pour retrouver les memes fonctionalités mais bon proute :o
 
sinon ton chiffre de 4x il vient d'ou?


Du test dont je parle au-dessus. J'ai fait ça :

Code :
  1. public static void main(String[] args)
  2. {
  3.  long start = System.currentTimeMillis();
  4.  String test = "Jouli test de split";
  5.  for(int i = 0; i < 1000000; i++)
  6.  {
  7.   StringTokenizer st = new StringTokenizer(test, " " );
  8.   while(st.hasMoreTokens())
  9.    st.nextToken();
  10.  }
  11.  long end = System.currentTimeMillis();
  12.  System.out.println(end - start);
  13.  for(int i = 0; i < 1000000; i++)
  14.   test.split(" " );
  15.  long end2 = System.currentTimeMillis();
  16.  System.out.println(end2 - end);
  17. }


Résultat : 930 ms pour StringTokenizer, 4230 pour split() [:spamafote]
J'ai pas testé l'occupation mémoire.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°767137
uriel
blood pt.2
Posté le 17-06-2004 à 12:58:53  profilanswer
 

les expressions regulieres, c'est un coup a voir de bugs "aleatoires"  [:chacal_one333]


---------------
IVG en france
n°767145
the real m​oins moins
Posté le 17-06-2004 à 13:01:11  profilanswer
 

bon ben mtnt faut refaire le test en utilisant les regex correctement
(là tu recompiles 400000fois la meme regex[:itm])
 
(enfin y'a ptet un system de cache en interne comme y'avait dans oro je crois... mais jpense que y'a moyen de faire plus optimisé que ça, quand meme)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767147
the real m​oins moins
Posté le 17-06-2004 à 13:01:48  profilanswer
 

bon ben non y'a pas ou alors c'est bien caché [:itm]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767162
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-06-2004 à 13:06:36  profilanswer
 

the real moins moins a écrit :

bon ben mtnt faut refaire le test en utilisant les regex correctement
(là tu recompiles 400000fois la meme regex[:itm])


Ba pareil, j'fais 1 000 000 de fois new sur le StringTokenizer() [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°767164
the real m​oins moins
Posté le 17-06-2004 à 13:08:10  profilanswer
 

ben non c'est pas pareil, initializer un bete objet ou compiler une regex [:itm]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767165
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-06-2004 à 13:09:21  profilanswer
 

the real moins moins a écrit :

ben non c'est pas pareil, initializer un bete objet ou compiler une regex [:itm]


Dans tous les cas, je cherchais à simuler l'effet sur 1 000 000 de chaînes différentes, donc ça revient à ça.
Breffe :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°767167
nraynaud
lol
Posté le 17-06-2004 à 13:10:49  profilanswer
 

bordel, plus j'utilise java et plus je me dis que toString est une connerie.
 
quand on fait un printOn(Writer), on oblige pas les gens à allouer quoique ce soit et on peut facilement dériver le toString() par un simple printOn(new StringWriter()).toString() alors qu'à l'inverse, un toString c'est allocation obligatoire !
 
là je suis en train de faire de l'impression d'objets et je me retrouve naturellement à faire du printOn() (à cause d'invertion de dépendances).


---------------
trainoo.com, c'est fini
n°767173
the real m​oins moins
Posté le 17-06-2004 à 13:13:53  profilanswer
 

printOn ça vient d'ou ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767174
benou
Posté le 17-06-2004 à 13:14:34  profilanswer
 

nraynaud a écrit :

bordel, plus j'utilise java et plus je me dis que toString est une connerie.


c'est pas une méthode qui est sensée être utilsée en "condition de production". C'ets plus pour du débugage ou du log rapide ...


---------------
ma vie, mon oeuvre - HomePlayer
n°767183
nraynaud
lol
Posté le 17-06-2004 à 13:23:44  profilanswer
 

the real moins moins a écrit :

printOn ça vient d'ou ?

devines ...
 
 
le smalltalk normalisé à 4 fonctions pour l'affichage des objets : printOn:, printString, displayOn: et displayString
 
la différence entre print et display, c'est que le premier est destiné au développeur (dans l'explorateur d'objet et le débuggueur) le second est destiné à l'utilisateur final (dans les interfaces graphiques, notemment).


---------------
trainoo.com, c'est fini
n°767189
the real m​oins moins
Posté le 17-06-2004 à 13:28:30  profilanswer
 

euh nan mais en java, ça fait partie d'une interface quelconque ou bien ça vient de toi?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°767197
nraynaud
lol
Posté le 17-06-2004 à 13:34:11  profilanswer
 

the real moins moins a écrit :

euh nan mais en java, ça fait partie d'une interface quelconque ou bien ça vient de toi?

là je fais un printer HTML, et j'ai pas encore découplé le HTML de la logique. Donc pour l'instant, les messages abstraits vont être capables de s'imprimer en html sur un StringBuffer (oui, pire qu'un writer, mais ça sera viré plus tard au profit d'un visiteur + hiérarchie de vues).
 
 
edit : heu pour répondre à la question, ça vient de moi.


Message édité par nraynaud le 17-06-2004 à 13:49:24

---------------
trainoo.com, c'est fini
n°767212
Jubijub
Parce que je le VD bien
Posté le 17-06-2004 à 13:41:51  profilanswer
 

J'étais sur que ca vous ferais bondir :D ...
 
de tt façon y'a pas encore de flag deprecated sur le StringTokenizer et je doute qu'il y en ai un...même si c vrai que les regex permettent tout dans l'absolu, ce serait con de se se priver d'un truc simple et qui marche.
 
Edit : on devrait pas poster dans les 10min après avoir fait du code, g des String*** plein la tete


Message édité par Jubijub le 17-06-2004 à 14:41:48

---------------
Jubi Photos : Flickr - 500px
n°767262
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 17-06-2004 à 14:06:51  profilanswer
 

Jubijub a écrit :


de tt façon y'a pas encore de flag deprecated sur le StringBuffer


Tokenizer [:aloy] Mais c'est l'idée :D
 
 
 
Sinon, j'ai un gros souci Java :sweat: Zavez déjà eu le souci sous Windows d'une JVM qui crashe en laissant un fichier hs_err_***.log sur le Desktop ? Passke c'est ce que j'ai et le coredump est aléatoire [:itm]
Ca plante uniquement avec une JRE Sun 1.4 (.1 ou .2, pas de différence), avec celle de Windows 2000 ça se passe sans problème.
Apparemment, ça se produit lors de la destruction d'une applet mais d'après mes (rapides) recherches sous Gougueule, y a d'autres applis pour lesquelles ça se passe.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°767265
nraynaud
lol
Posté le 17-06-2004 à 14:07:23  profilanswer
 

Code :
  1. public String openingTag() {
  2.         try {
  3.             return "<a href=\"http://oldpost.linuxfr.org/old&heure="
  4.                     + java.net.URLEncoder.encode(twoDigitsNumber(clock
  5.                             .getHour())
  6.                             + ':'
  7.                             + twoDigitsNumber(clock.getMinutes())
  8.                             + ':'
  9.                             + twoDigitsNumber(clock.getSeconds()),
  10.                             Options.CHARSET) + "\">";
  11.         } catch (UnsupportedEncodingException e) {
  12.             return "<a href='http://moncul.com'>";
  13.         }
  14.     }


tout en finesse !


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  11  12  13  ..  327  328  329  330  331  332

Aller à :
Ajouter une réponse
 

Sujets relatifs
[java]Ouvrir un fichier dans la fenetre principaleformation pour developpeurs Java
crontab : programme java[JAVA] Aide pour packager un jar
[java] copie de fichier et progressbarinstallation java
[JAVA]Comment insérer un texte dans un fichier audio?[JAVA] Intégrer ANT : API ou ligne de commande ?
[Java][Bouley]Serializable : mauvaise instanciation des champs[JAVA : JNI] Pb a l'execution avec library
Plus de sujets relatifs à : BlaBlaTech@JAVA [ELITE, viendez les boobs]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)