Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Discussions communautaires
  3. Discussions générales
  4. performance calcul langage C

performance calcul langage C

Scheduled Pinned Locked Moved Discussions générales
15 Posts 6 Posters 6.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • vfrzV
    vfrzV
    vfrz
    wrote on last edited by
    #3

    <p>J'aurais tendance à dire la même chose que Drobat 😉 </p>

    1 Reply Last reply
    0
    • mars073M
      mars073M
      mars073
      wrote on last edited by
      #4

      <p>je confirme mais bon vu qu'un ordinateur peut faire que +, -, * et /. Si tu as un Processeur à 3.6GHz le calcul va être exécuté en environ 1s/3.600.000.000 alors que le 2éme va être executé en 2s/3.600.000.000 ._.</p>

      Aide à l'apprentissage et la réalisation pour des graphismes, des programmes, des sites ou autres.Signature aléatoire, proposez vous aussi une signature ici!

      1 Reply Last reply
      1
      • C
        C
        cegdd
        wrote on last edited by
        #5

        <p>ok merci a vous =)</p>

        créateur de Reconquête-Salvatrice, un petit RPG 2D en ligne multi-plateforme [OpenGL / C]

        1 Reply Last reply
        0
        • AlexMogA
          AlexMogA
          AlexMog
          Modérateur spécialisé
          wrote on last edited by
          #6

          <p>En réalité, c'est plus complexe que ça.</p>
          <p>Il faudrais tout décompiler en ASM pour voir ce que cela engendre réellement dans le code.</p>
          <p>pour l'ASM:</p>
          <p>méthode 1:</p>
          <pre class="ipsCode prettyprint">
          push rbp
          mov rbp,rsp
          mov eax,DWORD PTR [rip+0xce] # 0x4005a4
          mov DWORD PTR [rbp-0x4],eax
          movss xmm1,DWORD PTR [rbp-0x4]
          movss xmm0,DWORD PTR [rip+0xc2] # 0x4005a8
          mulss xmm0,xmm1
          movss DWORD PTR [rbp-0x4],xmm0
          mov eax,0x0
          pop rbp
          ret
          </pre>
          <p>méthode 2:</p>
          <pre class="ipsCode prettyprint">
          push rbp
          mov rbp,rsp
          mov eax,DWORD PTR [rip+0xde] # 0x4005b4
          mov DWORD PTR [rbp-0x4],eax
          movss xmm0,DWORD PTR [rbp-0x4]
          movss xmm1,DWORD PTR [rip+0xd2] # 0x4005b8
          divss xmm0,xmm1
          movss xmm1,DWORD PTR [rip+0xca] # 0x4005bc
          mulss xmm0,xmm1
          movss DWORD PTR [rbp-0x4],xmm0
          mov eax,0x0
          pop rbp
          ret
          </pre>
          <p>Très clairement, tu fais appel moins de fois à ton processeur (14 appels contre 11), la première méthode est donc la plus rapide.</p>
          <p> </p>
          <p>Mais attention! Ce n'est valide que car les 2 cas proposent des float. En effet, si nous utilisions des int du début à la fin, la 2nde méthodes aurait été plus viable, pour éviter les casts inutiles.</p>
          <p> </p>
          <p>PS: je suis partit du principe que tu utilisait des floats pour tes calculs! Il faut savoir que les calculs entre floats sont BEAUCOUP (2.5*) plus lents que les calculs avec des int.</p>

          Multiplayer GameDev @ Unexpected
          

          Mon CV

          1 Reply Last reply
          0
          • vfrzV
            vfrzV
            vfrz
            wrote on last edited by
            #7

            <blockquote class="ipsQuote" data-cite="AlexMog" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="7128" data-ipsquote-contentid="548" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1399472861" data-ipsquote-username="AlexMog"><div>
            <div>
            <p>En réalité, c'est plus complexe que ça.</p>
            <p>Il faudrais tout décompiler en ASM pour voir ce que cela engendre réellement dans le code.</p>
            <p>pour l'ASM:</p>
            <p>méthode 1:</p>
            <pre class="ipsCode prettyprint">
            push rbp
            mov rbp,rsp
            mov eax,DWORD PTR [rip+0xce] # 0x4005a4
            mov DWORD PTR [rbp-0x4],eax
            movss xmm1,DWORD PTR [rbp-0x4]
            movss xmm0,DWORD PTR [rip+0xc2] # 0x4005a8
            mulss xmm0,xmm1
            movss DWORD PTR [rbp-0x4],xmm0
            mov eax,0x0
            pop rbp
            ret
            </pre>
            <p>méthode 2:</p>
            <pre class="ipsCode prettyprint">
            push rbp
            mov rbp,rsp
            mov eax,DWORD PTR [rip+0xde] # 0x4005b4
            mov DWORD PTR [rbp-0x4],eax
            movss xmm0,DWORD PTR [rbp-0x4]
            movss xmm1,DWORD PTR [rip+0xd2] # 0x4005b8
            divss xmm0,xmm1
            movss xmm1,DWORD PTR [rip+0xca] # 0x4005bc
            mulss xmm0,xmm1
            movss DWORD PTR [rbp-0x4],xmm0
            mov eax,0x0
            pop rbp
            ret
            </pre>
            <p>Très clairement, tu fais appel moins de fois à ton processeur (14 appels contre 11), la première méthode est donc la plus rapide.</p>
            <p> </p>
            <p>Mais attention! Ce n'est valide que car les 2 cas proposent des float. En effet, si nous utilisions des int du début à la fin, la 2nde méthodes aurait été plus viable, pour éviter les casts inutiles.</p>
            <p> </p>
            <p>PS: je suis partit du principe que tu utilisait des floats pour tes calculs! Il faut savoir que les calculs entre floats sont BEAUCOUP (2.5*) plus lents que les calculs avec des int.</p>
            </div>
            </div></blockquote>
            <p> </p>
            <p>Mais comment tu connais tout ça ? 😮 </p>

            1 Reply Last reply
            0
            • C
              C
              cegdd
              wrote on last edited by
              #8

              <p>merci pour ta réponse =)</p>
              <p> </p>
              <p>du coup j'imagine que :</p>
              <pre class="ipsCode prettyprint">
              variable0.123456789132456789
              </pre>
              <p>et aussi rapide que</p>
              <pre class="ipsCode prettyprint">
              variable
              0.1
              </pre>
              <p>ça reste un "float" pour l’ordinateur.</p>

              créateur de Reconquête-Salvatrice, un petit RPG 2D en ligne multi-plateforme [OpenGL / C]

              1 Reply Last reply
              0
              • AlexMogA
                AlexMogA
                AlexMog
                Modérateur spécialisé
                wrote on last edited by
                #9

                <blockquote class="ipsQuote" data-cite="cegdd" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="7172" data-ipsquote-contentid="548" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1399501974" data-ipsquote-username="cegdd"><div>
                <div>
                <p>merci pour ta réponse =)</p>
                <p> </p>
                <p>du coup j'imagine que :</p>
                <pre class="ipsCode prettyprint">
                variable0.123456789132456789
                </pre>
                <p>et aussi rapide que</p>
                <pre class="ipsCode prettyprint">
                variable
                0.1
                </pre>
                <p>ça reste un "float" pour l’ordinateur.</p>
                </div>
                </div></blockquote>
                <p>exact, le registre fais la même taille dans les deux cas (je parle de registre ASM ici)</p>

                Multiplayer GameDev @ Unexpected
                

                Mon CV

                1 Reply Last reply
                0
                • AlexMogA
                  AlexMogA
                  AlexMog
                  Modérateur spécialisé
                  wrote on last edited by
                  #10

                  <blockquote class="ipsQuote" data-cite="edgekiller" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="7161" data-ipsquote-contentid="548" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1399492026" data-ipsquote-username="edgekiller"><div>
                  <div>
                  <p>Mais comment tu connais tout ça ? 😮 </p>
                  </div>
                  </div></blockquote>
                  <p>Années d'experiences, Epitech et tests personnels 😉 (on a recoder Objdump à epitech, donc on sais comment ça marche vue de l'interieur 😛 )</p>

                  Multiplayer GameDev @ Unexpected
                  

                  Mon CV

                  1 Reply Last reply
                  0
                  • vfrzV
                    vfrzV
                    vfrz
                    wrote on last edited by
                    #11

                    <blockquote class="ipsQuote" data-cite="AlexMog" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="7235" data-ipsquote-contentid="548" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1399636548" data-ipsquote-username="AlexMog"><div>
                    <div>
                    <p>Années d'experiences, Epitech et tests personnels 😉 (on a recoder Objdump à epitech, donc on sais comment ça marche vue de l'interieur 😛 )</p>
                    </div>
                    </div></blockquote>
                    <p> </p>
                    <p>J'ai vu qu'il y a une école Epitech a Strasbourg (près de chez moi), il faut combien de moyenne général et quel niveau pour rejoindre cette école ?</p>

                    1 Reply Last reply
                    0
                    • AzadA
                      AzadA
                      Azad
                      wrote on last edited by
                      #12

                      <p>Il me semble qu'il ne demande aucun niveau académique spécifique pour y entrer, et tu n'as pas forcément besoin de niveau en informatique pour y rentrer.<br/>
                      Cependant, tu subiras la piscine dedans, ce qui t'inculquera de force de bonnes notions en informatiques.</p>
                      <p>
                      Mais je vais laisser AlexMog t'expliquer plus clairement tout ça, son niveau atteste de son école après tout. 😛 </p>

                      Administrateur du forum.
                      Contactez-moi par message privé ou par mail.

                      1 Reply Last reply
                      0
                      • vfrzV
                        vfrzV
                        vfrz
                        wrote on last edited by
                        #13

                        <p>C'est à dire la piscine ?</p>

                        1 Reply Last reply
                        0
                        • AzadA
                          AzadA
                          Azad
                          wrote on last edited by
                          #14

                          <p><a data-ipb="nomediaparse" href="http://www.epitech.eu/la-piscine.aspx" rel="external nofollow">http://www.epitech.eu/la-piscine.aspx</a> 😉 </p>

                          Administrateur du forum.
                          Contactez-moi par message privé ou par mail.

                          1 Reply Last reply
                          0
                          • D
                            D
                            Droby
                            wrote on last edited by
                            #15

                            <blockquote class="ipsQuote" data-cite="edgekiller" data-ipsquote="" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="7260" data-ipsquote-contentid="548" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1399666195" data-ipsquote-username="edgekiller"><div>
                            <div>
                            <p>J'ai vu qu'il y a une école Epitech a Strasbourg (près de chez moi), il faut combien de moyenne général et quel niveau pour rejoindre cette école ?</p>
                            </div>
                            </div></blockquote>
                            <p>Il te faut un bac, de la motivation et beaucoup d'argent (en général tu fais un crédit étudiant pour l'avoir). Par contre tu peux dès à présent demander une journée découverte sur le site de l'école pour pouvoir la visiter avec un étudiant et en savoir un peu plus. (il t'offre le ptit déj et le repas du midi normalement 😉 )</p>

                            Bonne affaire ici

                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Login or register to search.
                            Powered by NodeBB Contributors
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups