[java] question de rapidité

question de rapidité [java] - Java - Programmation

Marsh Posté le 06-06-2002 à 22:30:37    

Bonjour,  
je voulais juste savoir ce qui est le plus rapide entre une série de if ... else if... else if ... et l'instruction switch case ... case ... case ...
En effet j'ai trouvé des informations contradictoires sur le net ...

Reply

Marsh Posté le 06-06-2002 à 22:30:37   

Reply

Marsh Posté le 06-06-2002 à 22:38:54    

je dirais le case, qui de toute façon sera traduit par des if mais qui sera traduit de manière peut-être plus optimisée qu'une série de if "manuels"
enfin bon ça c'est vrai pour les languages compilés, mais j'imagine que c'est pareil ici


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 06-06-2002 à 22:41:00    

sans compter que le switch case est bien pluys lisible

Reply

Marsh Posté le 07-06-2002 à 00:00:05    

C'est vraiment du détail ! En Java, c'est pas les performance qu'on vise, alors franchement, savoir quel bytecode est le plus optimisé entre un switch et des if ... :sarcastic:
 
mais si ca te dit, compare : fait une boucle de 100000 de if pui sune boucle de  100000 switchs avec un nombre aléatoire et tu verras bien ...

Reply

Marsh Posté le 07-06-2002 à 00:44:33    

benou a écrit a écrit :

C'est vraiment du détail ! En Java, c'est pas les performance qu'on vise, alors franchement, savoir quel bytecode est le plus optimisé entre un switch et des if ... :sarcastic:
 
mais si ca te dit, compare : fait une boucle de 100000 de if pui sune boucle de  100000 switchs avec un nombre aléatoire et tu verras bien ...  




à propos, vous savez c quoi la manière la plus rapide d'inverser un booleen en java?:)


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 00:46:22    

greg@freestarthu a écrit a écrit :

 
à propos, vous savez c quoi la manière la plus rapide d'inverser un booleen en java?:)  




bool = !bool;

Reply

Marsh Posté le 07-06-2002 à 00:48:13    

benou a écrit a écrit :

C'est vraiment du détail ! En Java, c'est pas les performance qu'on vise, alors franchement, savoir quel bytecode est le plus optimisé entre un switch et des if ... :sarcastic:
 
mais si ca te dit, compare : fait une boucle de 100000 de if pui sune boucle de  100000 switchs avec un nombre aléatoire et tu verras bien ...  




 
 
"Sans utiliser de composants graphiques, le java est plus rapide que le C++" dixit mon prof de Java.

Reply

Marsh Posté le 07-06-2002 à 00:48:31    

bool=fonctionQuiTueLaMortPourInverserLesBoolean(bool);

Reply

Marsh Posté le 07-06-2002 à 00:49:38    

_john_doe_ a écrit a écrit :

 
 
 
"Sans utiliser de composants graphiques, le java est plus rapide que le C++" dixit mon prof de Java.  




 
et la marmotte ....

Reply

Marsh Posté le 07-06-2002 à 00:51:05    

mareek a écrit a écrit :

 
bool = !bool;  




non :)


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 00:51:05   

Reply

Marsh Posté le 07-06-2002 à 00:53:13    

Ah, et aussi :
 
"On a mesuré que le temps de développement d'un programme en Java et le même programme en C++ varie d'un facteur 10 (en faveur du prg Java), et ce grâce à la présence du garbage collector. En C++ on passe la plupart du temps à résoudre des problèmes de pointeurs null etc, alors qu'en java tout est transparent."
 
Toujours selon ce même prof.

Reply

Marsh Posté le 07-06-2002 à 00:53:36    

greg@freestarthu a écrit a écrit :

 
non :)  




bool+=bool; ?

Reply

Marsh Posté le 07-06-2002 à 00:54:42    

_john_doe_ a écrit a écrit :

Ah, et aussi :
 
"On a mesuré que le temps de développement d'un programme en Java et le même programme en C++ varie d'un facteur 10 (en faveur du prg Java), et ce grâce à la présence du garbage collector. En C++ on passe la plupart du temps à résoudre des problèmes de pointeurs null etc, alors qu'en java tout est transparent."
 
Toujours selon ce même prof.  




 
OK, c'est confirmé, il est commercial chez sun  :D

Reply

Marsh Posté le 07-06-2002 à 00:55:21    

mareek a écrit a écrit :

 
bool+=bool; ?  




non :)
(ça compile ça?)


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 00:55:51    

_john_doe_ a écrit a écrit :

Ah, et aussi :
 
"On a mesuré que le temps de développement d'un programme en Java et le même programme en C++ varie d'un facteur 10 (en faveur du prg Java), et ce grâce à la présence du garbage collector. En C++ on passe la plupart du temps à résoudre des problèmes de pointeurs null etc, alors qu'en java tout est transparent."
 
Toujours selon ce même prof.  




Faut dire que dans l'info on trouve pas mal de développeurs en C++ qui ont une idée assez floue de ce qu'est un pointeur ...

Reply

Marsh Posté le 07-06-2002 à 00:55:58    

greg@freestarthu a écrit a écrit :

 
non :)  




 
 
if (bool == true) {
  bool = false;
}
else {
  bool = true;
}
 :??:  :??:  :??:  :lol:  :??:  :??:  :??:

Reply

Marsh Posté le 07-06-2002 à 00:56:56    

_john_doe_ a écrit a écrit :

 
 
 
if (bool == true) {
  bool = false;
}
else {
  bool = true;
}
 :??:  :??:  :??:  :lol:  :??:  :??:  :??:  




ooh non:)


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 00:58:43    

mareek a écrit a écrit :

 
 
OK, c'est confirmé, il est commercial chez sun  :D  




 
 
C'est vrai qu'il a l'air trop amoureux du Java, et je le soupçonne même d'acheter des bouquins de C++ pour alimenter sa cheminée. Enfin il reste assez convaincant quand même, et puis quand tu l'entends parler tu te dis que le java c'est vraiment le langage ultime : tout est prévu, tout est d'une logique béton et la vie est belle avec les zoiseaux qui chantent.  :love:

Reply

Marsh Posté le 07-06-2002 à 00:59:11    

greg@freestarthu a écrit a écrit :

 
ooh non:)  




 
 
 
Sanndaiconnay ?  :ouch:

Reply

Marsh Posté le 07-06-2002 à 01:00:27    

greg@freestarthu a écrit a écrit :

 
non :)
(ça compile ça?)  




 
je sais pas, j'essaye des conneries  :D

Reply

Marsh Posté le 07-06-2002 à 01:04:06    

mareek a écrit a écrit :

 
 
je sais pas, j'essaye des conneries  :D  




langochat? :)


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 01:09:02    

greg@freestarthu a écrit a écrit :

 
langochat? :)  




oui, c'est surement un truc avec des opérations mathématiques hyper compliquées qui te fait gagner 1% de rapidité

Reply

Marsh Posté le 07-06-2002 à 01:11:32    

mareek a écrit a écrit :

 
oui, c'est surement un truc avec des opérations mathématiques hyper compliquées qui te fait gagner 1% de rapidité  




bool ^= true;
 
 
:ouimaitre: http://www.smotricz.com/kabutz/Issue042.html :ouimaitre:
 
edit: et sa peut etre 2x plus rapide qu'un bool = !bool  
mais bon, c sur qu'on s'en tape un peu dans 99.9999999999% des cas [:xx_xx]  
c juste pour le sport quoi :) ou bien c un bon truc d'obfuscation


Message édité par greg@freestarthu le 06-07-2002 à 01:13:39

---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 01:13:23    

greg@freestarthu a écrit a écrit :

 
bool ^= true;
 
 
:ouimaitre: http://www.smotricz.com/kabutz/Issue042.html :ouimaitre:  




 
OK, le ^ c'est donc un NAND

Reply

Marsh Posté le 07-06-2002 à 01:14:39    

mareek a écrit a écrit :

 
 
OK, le ^ c'est donc un NAND  




euh XOR non? enfin c ce que je lis sur le lien que j'ai passé:)


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 01:20:27    

greg@freestarthu a écrit a écrit :

 
euh XOR non? enfin c ce que je lis sur le lien que j'ai passé:)  




 
bon je suis à la rue, dodo  :sleep:

Reply

Marsh Posté le 07-06-2002 à 02:38:06    

moi j'irais pas jusqu'à dire 10 fois plus rapide
mais facile 4,5 plus rapide de développé en java....

_john_doe_ a écrit a écrit :

Ah, et aussi :
 
"On a mesuré que le temps de développement d'un programme en Java et le même programme en C++ varie d'un facteur 10 (en faveur du prg Java), et ce grâce à la présence du garbage collector. En C++ on passe la plupart du temps à résoudre des problèmes de pointeurs null etc, alors qu'en java tout est transparent."
 
Toujours selon ce même prof.  




---------------
Borland rulez: http://pages.infinit.net/borland
Reply

Marsh Posté le 07-06-2002 à 02:40:16    

os2 a écrit a écrit :

moi j'irais pas jusqu'à dire 10 fois plus rapide
mais facile 4,5 plus rapide de développé en java....
 




 
non, non plutot 5,3
 
c'etait un post super interessant, en tous cas, merci


---------------
\^o^/ Libérez HotShot \^o^/
Reply

Marsh Posté le 07-06-2002 à 08:55:48    

_john_doe_ a écrit a écrit :

 
"Sans utiliser de composants graphiques, le java est plus rapide que le C++" dixit mon prof de Java.  




:sarcastic:


Message édité par benou le 06-07-2002 à 08:56:06
Reply

Marsh Posté le 07-06-2002 à 10:46:32    

mareek a écrit a écrit :

 
 
OK, le ^ c'est donc un NAND  




 
non non c'est un XOR :)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-06-2002 à 12:18:36    

greg@freestarthu a écrit a écrit :

 
 
non, non plutot 5,3
 
c'etait un post super interessant, en tous cas, merci  




 
En fait, j'crois que t'as pas bien compris...
Quand il dit 4,5 fois plus rapide, il veut pas dire que c 4.5 fois plus rapide, mais 4 OU 5 fois plus rapide... en gros quoi !
 :D

Reply

Marsh Posté le 07-06-2002 à 12:21:32    

el_gringo a écrit a écrit :

 
 
En fait, j'crois que t'as pas bien compris...
Quand il dit 4,5 fois plus rapide, il veut pas dire que c 4.5 fois plus rapide, mais 4 OU 5 fois plus rapide... en gros quoi !
 :D  




NOOOOOOOOOOOOOOOOON?  :??:  
 
 :na:

Reply

Marsh Posté le 07-06-2002 à 14:39:28    

_john_doe_ a écrit a écrit :

 
 
 
"Sans utiliser de composants graphiques, le java est plus rapide que le C++" dixit mon prof de Java.  




a develloppé oui  
a executer ,non .
ke java libere seul la memoire non utilisée ( garbage collector  ) mais e process coute des resources ,de la memorie ( stocker des tables de variable referencés )...
tout cafait que le java est , et sera touours plus lent que le C++ ( a condition de comparer deux codes fait par des pros de chaque langage )

Reply

Marsh Posté le 07-06-2002 à 14:47:56    

flo850 a écrit a écrit :

 
a develloppé oui  
a executer ,non .
ke java libere seul la memoire non utilisée ( garbage collector  ) mais e process coute des resources ,de la memorie ( stocker des tables de variable referencés )...
tout cafait que le java est , et sera touours plus lent que le C++ ( a condition de comparer deux codes fait par des pros de chaque langage )  




 
sans oublier que Java est interpreté et C++ compilé


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 07-06-2002 à 15:01:11    

dsauf que quand tu fais un prog java avec gui il marche sous win sous nux et ... alors que ce tapper un prog c ou c++ pour tous les os c'est lourd
 
et niveaux ram qui qu'a pas 256mo ici?
 
et le c++ c'est sale

Reply

Marsh Posté le 07-06-2002 à 15:08:24    

kakou a écrit a écrit :

dsauf que quand tu fais un prog java avec gui il marche sous win sous nux et ... alors que ce tapper un prog c ou c++ pour tous les os c'est lourd
 
et niveaux ram qui qu'a pas 256mo ici?
 
et le c++ c'est sale  




 
on parle juste vitesse d'execution donc ta remarque n'a rien a voir avec la discussion, même si elle est juste.
 
enfin l'argument "et le c++ c'est sale" n'a aucune valeur puisqu'on peut faire du code sale dans n'importe quel langage (et inversement pour du code propre)


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 07-06-2002 à 15:12:54    

enfin niveaux pointeur en c++ ca rend un code illisible alors quand java si tu fais la javadoc deja c'est plus lisible

Reply

Marsh Posté le 07-06-2002 à 15:15:56    

kakou a écrit a écrit :

enfin niveaux pointeur en c++ ca rend un code illisible alors quand java si tu fais la javadoc deja c'est plus lisible  




 
...toujours autant à coté de la plaque (la "plaque" étant ici le sujet de la discution !) :D


Message édité par El_gringo le 06-07-2002 à 15:16:10
Reply

Marsh Posté le 07-06-2002 à 15:16:15    

gnagnagna

Reply

Marsh Posté le 07-06-2002 à 15:17:38    

au dessus on parle de rapidité de developpement non?
dojnc ca va plus vite a developper sous java pour ++ os qu'en c++ voila :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed