עבור לתוכן

האם זה נכון להשוות מעבדים בצורה כזאת

Featured Replies

פורסם

היי. התבקשתי לבדוק Performance של תוכנה מסויימת.

במעבד שלי, המהיר יותר, אני מקבל X הרצות של תוכנה מסויימת.

עכשיו אני צריך לתת תוצאה במעבד הישן יותר. 

לפי אתר CPU benchmark, ה-Effective Speed שאני מקבל בין המעבדים זה שהמעבד בו בוצעו הבדיקות מהיר ב269 אחוז.

עכשיו לשאלה שלי, ואני יודע שהיא לא מדוייקת במאה אחוז, האם עלי לחלק X ב2.69 כדי לקבל תוצאה שהיא בערך זהה לתוצאה שלי על המעבד הישן יותר?

לגבי RAM, התאמתי את כמות הזיכרון ב-Virtual Machine.

תודה.

פורסם

אם המעבד מהווה 100% מהגורמים לביצועי התוכנה אז כן.

וגם אז לא לגמרי ברור, כי למעבדים חדשים יש יכולות חדשות שאולי מהוות חלק מהתוצאה אך לא קיימות במעבד הישן.

הקומפיילר מסוגל לעשות בהם שימוש רק כשהמעבד תומך.

ולכן על המעבד הישן התוצאה תהיה פחותה מהמצופה על בסיס ההנחה בשורה הראשונה.

פורסם

על איזה מעבדים מדובר?


נכון זה להריץ את אותה תוכנה על שני המעבדים עם חומרה זהה מסביב ולא להשתמש ב-VM כשעושים מדידות ביצועים. גם אם למעבד השפעה של 100% על מהירות הריצה עדיין תוכנות שונות עושות שימוש במשאבים שונים של המעבד והמספר הזה (269%) הוא רק איזה ממוצע כללי של הרבה תוכנות והוא לא דווקא נכון לתוכנה הספציפית ולמשאבים שהיא צריכה. אם הארכיטקטורה של שני המעבדים מאוד דומה ,למשל השוואה בין מעבדי אינטל בדורות האחרונים, אז המספר הכללי הזה יכול להיות מספיק טוב אבל בגדול אי אפשר לייצג את ההבדל בין מעבדים שונים במספר אחד כללי שאמור לייצג את כוח המעבד.

פורסם

ההבדלים בין מעבדים נובעים מהארכיטקטורה, מתדר העבודה, מסטי הפקודות המובנים במעבד, גודל זיכרון המטמון, מספר הליבות ועוד פרמטרים שונים. העניין הוא שיכול להיות שעבור תוכנה מסויימת לפרמטרים מסויימים יש השפעה גדולה על הביצועים ואילו לאחרים אין השפעה כלל. למשל - יכול להיות שהתוכנה לא יודעת לנצל ריבוי ליבות, ואז במקרה כזה לא משנה אם במעבד יש ליבת עיבוד אחת או עשר. בנוסף צריך להבין שהגדלה של ערך של פרמטר מסויים לא בהכרח תביא לשיפור לינארי בתוצאה. למשל - מעבד עם 2X ליבות לא בהכרח יהיה פי 2 מהיר יותר מאשר מעבד עם X ליבות עיבוד (למעשה דיי בטוח שההבדל בביצועים יהיה פחות מפי שניים). בנוסף להבדלים בין המעבדים יש לקחת בחשבון הבדלים בין מערכות המחשב השונות, כמו נפח הזיכרון הפיזי, מהירות התקן האיחסון וכד'.

 

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

פורסם
  • מחבר

תודה רבה על התשובות.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים