Bred Posté(e) le 28 juin 2006 Posté(e) le 28 juin 2006 Salut à tous,suite à une discussion avec un collègue qui m'affirmait qu'en programmation il est préférable de diviser par 2 que de multiplier par 0.5, j'ai fait un petit test grâce à la routine "chronomètre" de (gile) (merci à lui encore)...donc : (defun get-utime () (* 86400 (getvar "tdusrtimer")) ) (defun c:testm () (setq t0 (get-utime)) (setq a 2) (repeat 1000000 (setq b (* a 0.5))) (setq t1 (get-utime)) (princ (strcat "\n; Temps: " (rtos (- t1 t0)) " sec")) (princ) ) (defun c:testd () (setq t0 (get-utime)) (setq a 2) (repeat 1000000 (setq b (/ a 2))) (setq t1 (get-utime)) (princ (strcat "\n; Temps: " (rtos (- t1 t0)) " sec")) (princ) ) He bien, faites le test :pour testm (multiplier) : 1.71 sec.pour testd (diviser) : 2.35 sec .... Donc, en fait il vaut mieux multiplier par 0.5 que diviser par 2 ... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
bonuscad Posté(e) le 28 juin 2006 Posté(e) le 28 juin 2006 Je ne sais pas si ce test est vraiment fiable car j'ai obtenu des résultats variables. Par contre ton test diviser n'est pas objectif car tu fait une division d'entier, alors que celui de multiplier est fait avec des réels (0.5 est un réel et cela suffit). Mais il vrai que j'ai entendu dire qu'il valait mieux executer une multiplication par 0.5 qu'une division par 2.0 pour la rapidité d'execution..... Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 28 juin 2006 Posté(e) le 28 juin 2006 Un petit test vite fait (avec des réels) donnerait, chez moi, un léger avantage à la division : Commande: testd ; Temps: 1.7810 sec Commande:Commande: testm ; Temps: 2.0000 sec Commande:Commande: testd ; Temps: 1.7970 sec Commande:Commande: testm ; Temps: 2.0160 sec Et, dans les deux cas, un leger avantage à la Console VisualLISP par rapport à ligne de commande : _$ (c:testd) ; Temps: 1.0470 sec_$ (c:testm) ; Temps: 1.2650 sec_$ (c:testd) ; Temps: 1.0310 sec_$ (c:testm) ; Temps: 1.2500 sec [Edité le 28/6/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 29 juin 2006 Auteur Posté(e) le 29 juin 2006 Salut,Comme le dit bonuscad, le test n'a pas l'air d'être trés fiable en fait, car j'ai chaque fois des valeurs différentes... mais avec une majorité de temps minimum en division... :exclam: Je vais donc être obligé de faire face à mes responsabilité en perdant la face devant mon collègue... tant pis pour moi... :mad2: ... snif ! ... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant