דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. השוואת מהירות הרצה בין שני ווריאציות של קוד

השוואת מהירות הרצה בין שני ווריאציות של קוד

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 2 כותבים 211 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • searchnicksS מנותק
    searchnicksS מנותק
    searchnicks
    כתב ב נערך לאחרונה על ידי
    #1

    יש לי שני קטעי קוד שונים (שפת C) שעושים אותה מטרה.
    איך אני יכול לבדוק מה יותר יעיל ומהיר?

    אם תשובתי פתרה את בעייתך, אנא לחץ על החץ הקטנטון שנמצא בסמוך לתשובה...

    yossizY תגובה 1 תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לsearchnicks ב נערך לאחרונה על ידי
      #2

      @searchnicks זה מיחשוב נטו? או שיש משתנים צדדיים שיכולים להשפיע על המהירות? כמו מהירות IO?

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      searchnicksS תגובה 1 תגובה אחרונה
      1
      • searchnicksS מנותק
        searchnicksS מנותק
        searchnicks
        השיב לyossiz ב נערך לאחרונה על ידי
        #3

        @yossiz מחישוב נטו
        אותו נתוני לקוח
        אותו קומפיילר
        אותו מערכת
        אותו משתמש.

        זה רק לבדיקה עצמית

        אם תשובתי פתרה את בעייתך, אנא לחץ על החץ הקטנטון שנמצא בסמוך לתשובה...

        yossizY תגובה 1 תגובה אחרונה
        0
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לsearchnicks ב נערך לאחרונה על ידי
          #4

          @searchnicks אתה בווינדוס או בלינוקס?

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          searchnicksS תגובה 1 תגובה אחרונה
          0
          • searchnicksS מנותק
            searchnicksS מנותק
            searchnicks
            השיב לyossiz ב נערך לאחרונה על ידי
            #5

            @yossiz בווינדוס

            אם תשובתי פתרה את בעייתך, אנא לחץ על החץ הקטנטון שנמצא בסמוך לתשובה...

            searchnicksS תגובה 1 תגובה אחרונה
            0
            • searchnicksS מנותק
              searchnicksS מנותק
              searchnicks
              השיב לsearchnicks ב נערך לאחרונה על ידי
              #6

              הסיפור הוא שאני ועוד חבר כתבנו קוד למטרה מסויימת.
              והתעורר וויכוח איזה קוד יותר יעיל.

              האם יש כלים לאבחן את זה?

              אם תשובתי פתרה את בעייתך, אנא לחץ על החץ הקטנטון שנמצא בסמוך לתשובה...

              תגובה 1 תגובה אחרונה
              0
              • yossizY מנותק
                yossizY מנותק
                yossiz
                כתב ב נערך לאחרונה על ידי yossiz
                #7

                משהו כזה:

                #include <windows.h>
                #include <stdio.h>
                
                void main() {
                  // https://docs.microsoft.com/en-us/windows/win32/sysinfo/acquiring-high-resolution-time-stamps
                  LARGE_INTEGER StartingTime, EndingTime, ElapsedMicroseconds;
                  LARGE_INTEGER Frequency;
                  int i;
                
                  QueryPerformanceFrequency(&Frequency); 
                  QueryPerformanceCounter(&StartingTime);
                
                  for (i = 0; i < 100; i++) {
                    // your code
                  }
                
                  QueryPerformanceCounter(&EndingTime);
                  ElapsedMicroseconds.QuadPart = EndingTime.QuadPart - StartingTime.QuadPart;
                  ElapsedMicroseconds.QuadPart *= 1000000;
                  ElapsedMicroseconds.QuadPart /= Frequency.QuadPart;
                
                  printf("My code runs in %i microseconds", ElapsedMicroseconds.QuadPart / 100);
                
                  QueryPerformanceCounter(&StartingTime);
                
                  for (i = 0; i < 100; i++) {
                    // his code
                  }
                
                  QueryPerformanceCounter(&EndingTime);
                  ElapsedMicroseconds.QuadPart = EndingTime.QuadPart - StartingTime.QuadPart;
                  ElapsedMicroseconds.QuadPart *= 1000000;
                  ElapsedMicroseconds.QuadPart /= Frequency.QuadPart;
                
                  printf("His code runs in %i microseconds", ElapsedMicroseconds.QuadPart / 100);
                }
                

                נ. ב. אני לא כותב C, (מכיר קצת אבל לא יותר מזה). ברור שהקומפיילר היה צורח על הקוד שלי, אבל כתבתי אותו בלי לשאול את הקומפיילר לדעתו... האחריות עליך לאתר ולתקן את השגיאות...

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                תגובה 1 תגובה אחרונה
                7
                • dovidD dovid העביר נושא זה מ-תכנות ב-

                בא תתחבר לדף היומי!
                • התחברות

                • אין לך חשבון עדיין? הרשמה

                • התחברו או הירשמו כדי לחפש.
                • פוסט ראשון
                  פוסט אחרון
                0
                • דף הבית
                • קטגוריות
                • פוסטים אחרונים
                • משתמשים
                • חיפוש
                • חוקי הפורום