Re: Le calcul de la racine carré... pour des nuls :)

Liste des GroupesRevenir à fs maths 
Sujet : Re: Le calcul de la racine carré... pour des nuls :)
De : efji (at) *nospam* efi.efji (efji)
Groupes : fr.sci.maths
Date : 10. Nov 2024, 16:34:43
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vgqjqj$eebv$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
User-Agent : Mozilla Thunderbird
Le 10/11/2024 à 16:07, Michel Talon a écrit :
Le 10/11/2024 à 12:25, Michel Talon a écrit :
>
Autrement dit floor est une fonction très compliquée qui prend
beaucoup de temps à l'exécution. De fait utilisant le profiler de
lisp on voit que presque tout le temps d'exécution est à cet
endroit.
 En fait j'avais mal compris la documentation lisp de floor, et oublié qu'il y a une fonction mod, si bien que j'ai réécrit le programme avec ces fonctions et des déclarations appropriées, et j'ai enfin un temps d'exécution correct, tout en étant plus proche de ton programme:
 (time
  (let ((i 0)(p 1)(q 10)(m 1)(a 1)(b 1))
    (declare (fixnum i p q m a b)
         (optimize (speed 3)(safety 0)))
    (do ((n 2 (incf n)))
        ((> n (expt 10 7)) 'DONE)
      (if (>= n q)
      (progn (setq p q)
         (setq q (* 10 q))))
      (setq m (* n n))
      (setq a (floor m q))
      (setq b (mod m q))
      (if (and (= n (+ a b))
           (>= a p))
      (progn (incf i)
         (format t "~d ~d ~d ~%" i n m)))))))
 Ce qui donne:
 1 9 81
2 45 2025
3 55 3025
4 99 9801
...
44 9372385 87841600588225
45 9999999 99999980000001
Evaluation took:
   0.643 seconds of real time
   0.641880 seconds of total run time (0.641880 user, 0.000000 system)
   99.84% CPU
   961,544,359 processor cycles
   32,736 bytes consed
 En particulier il y a infiniment moins de mémoire allouée au calcul (bytes consed ...).
 Du coup je suis monté jusqu'à  10^9  le calcul prend 67s.  les derniers résultats sont:
OK c'est génial le lisp (franchement rarement vu langage aussi peu lisible) :)
Même chose en fortran ou C :
en utilisant des entiers 64 bits, suffisants pour aller jusqu'à 10^9: 0.67s
avec des entiers 128 bits permettant de monter au ciel : 8.43s
Il doit y avoir moyen de gagner en minimisant toutes les opérations sur des 128 bits qui semblent outrageusement coûteuses.
--
F.J.

Date Sujet#  Auteur
6 Nov 24 * Re: Le calcul de la racine carré... pour des nuls :)35Olivier Miakinen
6 Nov 24 `* Re: Le calcul de la racine carré... pour des nuls :)34efji
7 Nov 24  +- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
7 Nov 24  `* Re: Le calcul de la racine carré... pour des nuls :)32Thierry Loiseau
7 Nov 24   +* Re: Le calcul de la racine carré... pour des nuls :)30efji
8 Nov 24   i`* Re: Le calcul de la racine carré... pour des nuls :)29Olivier Miakinen
8 Nov 24   i `* Re: Le calcul de la racine carré... pour des nuls :)28efji
8 Nov 24   i  +* Re: Le calcul de la racine carré... pour des nuls :)2Olivier Miakinen
8 Nov 24   i  i`- Re: Le calcul de la racine carré... pour des nuls :)1efji
9 Nov 24   i  `* Re: Le calcul de la racine carré... pour des nuls :)25Samuel Devulder
9 Nov 24   i   `* Re: Le calcul de la racine carré... pour des nuls :)24efji
9 Nov 24   i    `* Re: Le calcul de la racine carré... pour des nuls :)23Olivier Miakinen
9 Nov 24   i     +* Re: Le calcul de la racine carré... pour des nuls :)18efji
9 Nov 24   i     i+* Re: Le calcul de la racine carré... pour des nuls :)16Samuel Devulder
9 Nov 24   i     ii`* Re: Le calcul de la racine carré... pour des nuls :)15Michel Talon
10 Nov 24   i     ii +* Re: Le calcul de la racine carré... pour des nuls :)6Samuel Devulder
10 Nov 24   i     ii i`* Re: Le calcul de la racine carré... pour des nuls :)5Michel Talon
10 Nov 24   i     ii i +* Re: Le calcul de la racine carré... pour des nuls :)2efji
10 Nov 24   i     ii i i`- Re: Le calcul de la racine carré... pour des nuls :)1Michel Talon
10 Nov 24   i     ii i `* Re: Le calcul de la racine carré... pour des nuls :)2Michel Talon
10 Nov 24   i     ii i  `- Re: Le calcul de la racine carré... pour des nuls :)1efji
10 Nov 24   i     ii +* Re: Le calcul de la racine carré... pour des nuls :)2efji
10 Nov 24   i     ii i`- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
10 Nov 24   i     ii +* Re: Le calcul de la racine carré... pour des nuls :)2Thierry Loiseau
10 Nov 24   i     ii i`- Re: Le calcul de la racine carré... pour des nuls :)1efji
11 Nov 24   i     ii `* Re: Le calcul de la racine carré... pour des nuls :)4Michel Talon
11 Nov 24   i     ii  `* Re: Le calcul de la racine carré... pour des nuls :)3efji
12 Nov 24   i     ii   +- Re: Le calcul de la racine carré... pour des nuls :)1Michel Talon
12 Nov 24   i     ii   `- Re: Le calcul de la racine carré... pour des nuls :)1efji
9 Nov 24   i     i`- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
9 Nov 24   i     +* Re: Le calcul de la racine carré... pour des nuls :)3Julien Arlandis
9 Nov 24   i     i+- Re: Le calcul de la racine carré... pour des nuls :)1efji
9 Nov 24   i     i`- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen
10 Nov 24   i     `- Indexation des tableaux en js (was: Re: Le calcul de la racine carré... pour des nuls :))1Thomas Alexandre
8 Nov 24   `- Re: Le calcul de la racine carré... pour des nuls :)1Olivier Miakinen

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal