Parler de la performance Java .. Qu'est-ce qui va mieux? Si..elez ou multiple simple si ou p> intéressé par vos pensées p> thnx! p> p>
5 Réponses :
Je suis confiant un seul si code> serait meilleur, car chaque fois qu'une condition vraie est rencontrée, il peut sauter en toute sécurité les autres code> code> car ils ne seront pas réalisé. Si vous avez utilisé plusieurs si code> S, toutes les conditions ultérieures devraient être évaluées de toute façon (même si, comme je pense que vous pensez que vous supposez, ils se seraient mutuellement exclusifs). P>
Mais dans l'exemple, ils ne vont pas être exécutés de toute façon parce que la fonction revient avant qu'elles soient atteintes.
N'a fait de différence dans cet exemple de toute façon, car il existe une instruction code> retour code> dans chaque si code> corps.
Mais cela peut le faire quand même en raison du formulaire de construction «retour».
Oui, mais si "mieux" == 1ms plus vite, qui va remarquer?
A manqué le renvoie code>. Il ne devrait y avoir aucune différence de performance significative. Aller pour la lisibilité du code;)
Il n'y a pas de différence, de performance sage. Choisissez l'option la plus lisible, ce qui pourrait être soit en fonction de ce que le code fait. P>
En général, ne vous inquiétez pas de ces micro-optimisations. L'optimisation ne devrait venir qu'après avoir déterminé qu'il existe un problème de performance qui doit être corrigé. P>
"Nous devrions oublier les petites gains d'efficacité, dire environ 97% du temps: optimisation prématurée est la racine de tous mal." -Donald Knuth P> blockQuote>
Le si ... EXEMPLE EXEMPLE QUE VOUS DÉPONSEZ PAS N'EST PAS BESOIN DE LA RETOUR CODE> S Si cela se trouve dans une fonction sans retour. Dans ce cas, le si ... sinon sera plus facile à lire. P>
En outre, le si ... d'autre devrait être préféré car il est explicit que ces cas sont mutuellement exclusifs. P>
S'il y a une différence de performance ici, votre compilateur / interprète est nul. P>
S'il y a une différence de performance, le compilateur suce.
Pourrait être l'interprète, pour une langue interprétée.
dépend de la situation. P>
Si les conditions sont mutuellement exclusives, utilisez S'ils ne sont pas mutuellement exclusifs, utilisez une liste de Dans votre cas, avec des retours dans chacun, la performance sera identique car le même nombre de comparaisons devra être fait, peu importe quoi. P> sinon code>. Cela causera que Java ne vérifie aucune des conditions après que celle qui se trouve soit vraie. P>
si code> sans que plusieurs cas puissent se produire plusieurs cas. P>
Cela ne fera aucune différence si les conditions sont mutuellement exclusives. (Cela ferait un s'il n'y avait pas de retour dans chaque clause de "puis" ...)
Je ne vous soucierais pas de la performance ici autant que la lisibilité et la maintenabilité du code. Comme mentionné, la performance sera essentiellement identique après la compilation du code. P>
Il est de mes préférences d'être plus explicites sur mes conditions, au lieu de permettre un comportement d'être implicitement «tomber». P>
En outre, le célibataire si ne sera pas évalué plus rapide que le si sinon. Le chemin d'autre ne sera jamais vérifié si le cas est vrai. P>
S'il y a une différence de performance, il est probablement négligeable.
Je ne suis pas expert, mais je serais surpris s'il y avait une différence - mais la réponse à toutes les questions de performance est "Essayez-la vous-même et de voir". (Et l'autre réponse est «Ce n'est probablement pas votre goulot d'étranglement».) Ceci ressemble à un de style i> question.
Peu importe "quelque_code", seulement comment Java exécute "si" déclaration
Vous pouvez également choisir d'avoir un seul
retour code> à la fin dusi ... sinon si .. code> exemple.Supposons que les valeurs de retour pourraient être différées
Je reste à l'écart de Elsesif / sinon si pour lisababe. Et essayez de vous tenir à une déclaration de retour i> à la fin de la fonction. Principe: 1. Obtenez l'entrée, 2: Faites le calcul, 3: renvoyer la sortie.