Laquelle de ces deux méthodes est la plus efficace en C ? Et que dire de :
pow(x,3)
vs.
x*x*x // etc?
Laquelle de ces deux méthodes est la plus efficace en C ? Et que dire de :
pow(x,3)
vs.
x*x*x // etc?
Je me suis occupé d'un problème similaire, et je suis assez perplexe quant aux résultats. Je calculais x³/² pour la gravitation newtonienne dans une situation à n corps (accélération subie par un autre corps de masse M situé à un vecteur de distance d) : a = M G d*(d²)³/²
(où d² est le produit scalaire de d par lui-même), et j'ai pensé qu'il fallait calculer M*G*pow(d2, -1.5)
serait plus simple que M*G/d2/sqrt(d2)
Le truc, c'est que c'est vrai pour les petits systèmes, mais au fur et à mesure que la taille des systèmes augmente, M*G/d2/sqrt(d2)
devient plus efficace et je ne comprends pas pourquoi la taille du système a un impact sur ce résultat, car répéter l'opération sur des données différentes n'en a pas. C'est comme s'il y avait des optimisations possibles au fur et à mesure que le système grandit, mais qui ne sont pas possibles avec pow
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.