Partage
  • Partager sur Facebook
  • Partager sur Twitter

Coût computationnel

Sujet résolu
    26 mars 2017 à 5:52:20

    Bonjour, 

    Voilà je me demandais, par simple curiosité, s'il existe un moyen, un outil ou une fonction de connaitre le coût computationnel d'un programme, d'une fonction ou d'un code quoi. J'entends par coût computationnel son utilisation CPU et mémoire.

    À un niveau assez simple par exemple, et je sais bien que la différence doit être extrêmement minime, mais qu'est-ce qui est le plus gourmand, un puts() ou un printf() ? Comment le savoir ?

    Je ne sais pas s'il existe d'outil où même si m'a question à un quelconque sens puisque les réponses peuvent varier d'une architecture à une autre...  Bref, la réponse sera alors peut être surement purement mathématique comme le calcule de complexité des algorithmes de tri.

    -
    Edité par Flo Rian 26 mars 2017 à 5:53:01

    • Partager sur Facebook
    • Partager sur Twitter
      26 mars 2017 à 11:03:11

      Bonjour,

      En C tu as la fonction clock (https://inux.die.net/man/3/clock) qui te permet d'avoir le coût CPU entre deux moments.

      Pour ce qui est de la mémoire, tu pourrais jeter un œil dans le dossier /proc/self au runtime.
      • Partager sur Facebook
      • Partager sur Twitter
        26 mars 2017 à 20:46:31

        Bonjour,

        Il existe des outils pour faire cela, ils dépendent de ton compilateur. On parle de profiler ou en français profileur de performance.
        A utiliser sur du code en release car la couche de debug est la plus grande consommatrice de CPU (release est de 1,5 à 20 fois plus rapide.)
        Par analyse du code, c'est par contre quasi-impossible (une simple lecture mémoire prend de 1 à des centaines de cycles processeur, une multiplication de 2 à 4 cycles, cela dépend trop du contexte.)

        Sinon printf() est moins optimum que puts() car il a une analyse à effectuer, il perd donc des dizaines de nanosecondes par appel.

        • Partager sur Facebook
        • Partager sur Twitter

        En recherche d'emploi.

          28 mars 2017 à 12:27:28

          Merci Ra'Jiska et Dalfab pour ces super pistes, je vais regarder tout ça avec attention !
          • Partager sur Facebook
          • Partager sur Twitter

          Coût computationnel

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown