Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question : Rapidité des types de variables

long et char

Sujet résolu
Anonyme
    27 février 2006 à 16:17:13

    Bonjour, j'ai une questions peut-être conne pour certains mais y a-t-il ou non une différence de temps, pour la compilation et l'affichage de variables de type char et long.

    En fait je voudrais savoir si la compilation et plus long avec une variable long ou avec une variable char !!

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      27 février 2006 à 16:24:22

      Je pense que maintenant, vu la mémoire de nos PC, il n'y a pas de diffèrences mais avant (il y a 10 ans) peut-être.
      • Partager sur Facebook
      • Partager sur Twitter
        27 février 2006 à 16:26:12

        Non, la compilation n'a strictement (à par les roxxor optimisations bidons qu'on ne connait pas) rien à foutre des types de variable.

        Pour l'execution, bah char va prendre moins de place en mémoire, mais ca ne change rien à la rapidité (en tout cas pour un programme qui utilise peu de mémoire comme ceux qu'on fait, pour le reste je ne saurais m'avancer sur les broubroutages de cache L4 les jours de plein lune :-° ).
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          27 février 2006 à 16:28:09

          peut être qu'une variable char est un peu plus "longue" à compiler et à afficher puisque le programme doit trouver la valeur numérique qui correspond au caractère concerné mais bon à cette échelle c'est vraiment minime, tu ne pourras jamais sentir cette différence vu que c'est quasi instantané!!
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            27 février 2006 à 16:40:35

            ok Merci tout lle monde
            • Partager sur Facebook
            • Partager sur Twitter
              27 février 2006 à 17:33:00

              Citation : merwan

              peut être qu'une variable char est un peu plus "longue" à compiler et à afficher puisque le programme doit trouver la valeur numérique qui correspond au caractère concerné mais bon à cette échelle c'est vraiment minime, tu ne pourras jamais sentir cette différence vu que c'est quasi instantané!!



              Hum...

              Déja, ca change quoi à la compilation ?

              Ensuite, une variable dans le PC ca sera par exemple :

              Citation

              11000001


              Pourquoi ca serait plus facile/court/rapide pour lui d'afficher "97" que 'a' ?
              • Partager sur Facebook
              • Partager sur Twitter
                27 février 2006 à 17:36:58

                Ces considérations sur les optimisations de vitesse sont totalement absurdes. Vous allez voir que les vrais problèmes de vitesse surviennent dans la façon dont vous architecturez un code complexe. Pas sur les types de variables, ça c'est complètement ridicule que de songer un seul instant qu'un char sera plus "rapide" qu'un long (ça n'a aucun sens d'ailleurs techniquement).
                • Partager sur Facebook
                • Partager sur Twitter

                If you'd like to join us, read "How do we work at OpenClassrooms"! :)

                Anonyme
                  27 février 2006 à 19:07:27

                  Citation : bluestorm


                  Pourquoi ca serait plus facile/court/rapide pour lui d'afficher "97" que 'a' ?



                  Si j'ai bien compris le cours de C, chaque lettre a un code numerique correspondant, donc lors de l'execution du programme l'ordinateur doit faire une opération de plus afin de "convertir" un nombre en lettre.

                  par exemple:
                  affichage d'un nombre (long) :
                  appel de la variable -> affichage de la valeur de la variable

                  affichage d'un caractère (char) :
                  appel de la variable -> récuperation de la valeur de la variable -> affichage de la lettre correspondant à la valeur de la variable

                  ici on voit qu'il y a une opération de plus.Comme je l'ai dis plus haut la différence de temps est infime.Je me trompe peut etre, je ne suis qu'un débutant ^^
                  c'est juste une p'tite théorie! Et pis en fait on s'en fout un peu de savoir si ca prend qques centieme de seconde en plus ou non...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 février 2006 à 19:57:14

                    Je comprends pas pourquoi il y a tant de sujets où on s'inquiètes de quelques nanosecondes de plus ou en moins... :-°
                    Parce que dans cette optique là, rester près de votre ordinateur ralentit le temps et ralonge votre vie, vous savez... :p
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 février 2006 à 20:16:30

                      Citation : merwan

                      Citation : bluestorm


                      Pourquoi ca serait plus facile/court/rapide pour lui d'afficher "97" que 'a' ?



                      Si j'ai bien compris le cours de C, chaque lettre a un code numerique correspondant, donc lors de l'execution du programme l'ordinateur doit faire une opération de plus afin de "convertir" un nombre en lettre.

                      par exemple:
                      affichage d'un nombre (long) :
                      appel de la variable -> affichage de la valeur de la variable

                      affichage d'un caractère (char) :
                      appel de la variable -> récuperation de la valeur de la variable -> affichage de la lettre correspondant à la valeur de la variable

                      ici on voit qu'il y a une opération de plus.Comme je l'ai dis plus haut la différence de temps est infime.Je me trompe peut etre, je ne suis qu'un débutant ^^
                      c'est juste une p'tite théorie! Et pis en fait on s'en fout un peu de savoir si ca prend qques centieme de seconde en plus ou non...



                      Non, car le compilateur ne donne pas des lignes de code au PC, il donne des lignes de 1 et de 0...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 février 2006 à 21:27:40

                        Vous délirez complètement là, désolé de devoir vous le dire mais vous êtes dans un complet délire. C'est pas des centièmes de secondes ni des nanosecondes, c'est 0 secondes. La conversion est faite par le compilateur.

                        Si vous ne savez pas, évitez de sortir des bêtises que vous avez imaginé durant votre sommeil :/
                        • Partager sur Facebook
                        • Partager sur Twitter

                        If you'd like to join us, read "How do we work at OpenClassrooms"! :)

                          27 février 2006 à 21:40:45

                          Quand je disais nanosecondes, c'était pas pour la conversion lettre->nombre... :-°
                          Y a pleins de sujet sur ça du genre de celui-ci ou encore celui-là.

                          Après si j'utilisais ce terme c'est aussi parce que je connais pas plus petit... :p
                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 février 2006 à 22:16:24

                            de toute facon, l'ordinateur quand il affiche "97", bah pour lui c'est deux lettres "9" et "7", il doit bien les convertir puisque lui il a juste un nombre binaire stocké dans sa mémoire.
                            Donc c'est faux de penser que passer de [0110001] à "97" est plus rapide que de [01100001] à "a".
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              27 février 2006 à 22:28:38

                              ce debat a t il vraiment son utilité? ^^

                              par contre je ne comprend pas très bien : le compilateur crée un executable pleins de 0 et de 1 mais il y a bien un moment ou les 0 et 1 sont transformé en valeurs lors de l'execution du programme non??

                              je suis un peu perdu la o_O

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Question : Rapidité des types de variables

                              × 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