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

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Question con: Quel est le plus optimal?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Question con: Quel est le plus optimal?

n°698698
Yoyo@
Posté le 13-04-2004 à 22:59:44  profilanswer
 

Voila, je me posais une question...
 
Vaut il mieux faire :
 

Code :
  1. if (tempMinX<minX)
  2.   minX=tempMinX;


 
ou alors:
 

Code :
  1. tempMinX=Math.min(tempMinX, minX);


 
d'un point de vue des performances bien sur...

mood
Publicité
Posté le 13-04-2004 à 22:59:44  profilanswer
 

n°698700
la viper
Posté le 13-04-2004 à 23:01:45  profilanswer
 

regarde la moulinette de Math.min .. mais surment que ca été bien pensé qu'une condition if..

n°698702
Yoyo@
Posté le 13-04-2004 à 23:04:53  profilanswer
 

Voila ce que me donne la moulinette :
 

Code :
  1. public static long min(long a, long b) {
  2.   return (a <= b) ? a : b;
  3. }


 
Le probleme avec la version Min, c qu'il y a affectation quelle que soit la situation, ce qui n'est pas le cas avec ma version avec if...
 
So?

n°698705
nraynaud
lol
Posté le 13-04-2004 à 23:11:16  profilanswer
 

utilises Math.min, c'est le genre de truc qui se fait inliner au chargement de la méthode.


---------------
trainoo.com, c'est fini
n°698709
Yoyo@
Posté le 13-04-2004 à 23:14:25  profilanswer
 

nraynaud a écrit :

utilises Math.min, c'est le genre de truc qui se fait inliner au chargement de la méthode.


 
Adjugé, Math.mon alors? Malgré l'affectation qui se fait a chaque fois?
 
Sinon, tu parles d'"inlinage" en Java. Je ne savais pas que ca pouvait exister. Est ce que c possible de créer ses propres fonctions Inline? Ou alors d'inciter la VM a le faire?

n°698710
the real m​oins moins
Posté le 13-04-2004 à 23:17:14  profilanswer
 

nraynaud a écrit :

utilises Math.min, c'est le genre de truc qui se fait inliner au chargement de la méthode.

j'aurais tendance à dire que ça dépend du contexte de l'utilisation moi: suivant l'utilisation du test conditionnel, l'un ou l'autre peut avoir plus de sens, d'un point "lecture du code", quoi...  
Si je fais des math, j'irai voir Math.min, si je fais une operation en boucle jusqu'a atteindre une certaine valeur seuil, je ferais un bete if x<y [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698711
the real m​oins moins
Posté le 13-04-2004 à 23:17:52  profilanswer
 

en fait la GROSSE difference que je vois c'est que ton test fais un < alors que Math.min fait un <= [:joce]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698712
nraynaud
lol
Posté le 13-04-2004 à 23:19:04  profilanswer
 

Yoyo@ a écrit :

Est ce que c possible de créer ses propres fonctions Inline? Ou alors d'inciter la VM a le faire?

1) oui, n'importe quelle fonction peut se retrouver inlinée, c'est la VM qui décide en fonction de ses critères.
2) oui, en écrivant un code aussi normal et intutif que possible (et des méthodes de moins de 15 lignes).


---------------
trainoo.com, c'est fini
n°698713
Yoyo@
Posté le 13-04-2004 à 23:19:10  profilanswer
 

the real moins moins a écrit :

j'aurais tendance à dire que ça dépend du contexte de l'utilisation moi: suivant l'utilisation du test conditionnel, l'un ou l'autre peut avoir plus de sens, d'un point "lecture du code", quoi...  
Si je fais des math, j'irai voir Math.min, si je fais une operation en boucle jusqu'a atteindre une certaine valeur seuil, je ferais un bete if x<y [:spamafote]


 
Bah noi, je fais un test en boucle pour choper la coordonnée minimale d'une liste de composants...


Message édité par Yoyo@ le 13-04-2004 à 23:25:09
n°698716
Yoyo@
Posté le 13-04-2004 à 23:22:42  profilanswer
 

nraynaud a écrit :

1) oui, n'importe quelle fonction peut se retrouver inlinée, c'est la VM qui décide en fonction de ses critères.
2) oui, en écrivant un code aussi normal et intutif que possible (et des méthodes de moins de 15 lignes).


 
Oui, mais tout le dilemne est la...:
Je ne sais pas si ma méthode se ferait inlinée, donc, finalement, plus que d'inclure mon bout de code fonctionnel dans une méthode a part entiere, je l'incls directement dans le code principal donc : pas de méthode => pas d'inlineage.
 
Genre, si je créais ma propre fonction carrée, j'aurais intéret, sachant que je l'utilise 100 fois dans une boucle, a la mettre dans une méthode ou alors directement a faire x = a*a?
 

mood
Publicité
Posté le 13-04-2004 à 23:22:42  profilanswer
 

n°698719
nraynaud
lol
Posté le 13-04-2004 à 23:28:30  profilanswer
 

Yoyo@ a écrit :

Oui, mais tout le dilemne est la...:
Je ne sais pas si ma méthode se ferait inlinée, donc, finalement, plus que d'inclure mon bout de code fonctionnel dans une méthode a part entiere, je l'incls directement dans le code principal donc : pas de méthode => pas d'inlineage.
 
Genre, si je créais ma propre fonction carrée, j'aurais intéret, sachant que je l'utilise 100 fois dans une boucle, a la mettre dans une méthode ou alors directement a faire x = a*a?

heu, quand le compilo refuse d'inliner, c'est parce qu'il pense que ça sera plus lent.
 
ta fonction carré, tu as tout intérêt à en faire une fonction, c'est plus lisible (et inlinable si le compilo le juge utile).
 
mais je réitère mon conseil vu que tu sembles un peu dur de la feuille : écris un code aussi normal et intutif que possible (et des méthodes de moins de 15 lignes)
 
Arrête de penser inlining etc. Si tu as des problèmes de perfs, tu utiliseras un profiler et des outils d'analyse adéquats. Faire un logiciel rapide, c'est pas faire un bloatware, mais faire quelquechose d'intelligent.


---------------
trainoo.com, c'est fini
n°698721
the real m​oins moins
Posté le 13-04-2004 à 23:30:30  profilanswer
 

[:cupra]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°698722
nraynaud
lol
Posté le 13-04-2004 à 23:31:36  profilanswer
 

toi tu veux un goat.cx en mp non ?


---------------
trainoo.com, c'est fini

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Question con: Quel est le plus optimal?

 

Sujets relatifs
Frames HTML - Question de sécuritéSolex Java
Java plugins and more...C-Shell sous linux : question bete :/ par un bete lol
[JAVA]Ecrire un texte penché (en biais)sql to java
Créer des objets java dynamiquement...Java - Connexion MySQL
[Java][Tomcat][JSP] Problème de configuration de Tomcat[Java] Regexp pour sortir un chemin sans le nom de fichier
Plus de sujets relatifs à : [JAVA] Question con: Quel est le plus optimal?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR