הבלוג של ארתיום
בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא!
השוואת ביצועים 64 מול 32 ביט - התוצאות הסופיות
אחרי שהשלמתי את רוב הבדיקות שרציתי לבצע וכיסיתי את רוב התחומים של שימוש במחשבים - משחקים, מדיה דיגיטלית, מתמטיקה, עבודה יומיומית ושרתים אני מפרסם את המאמר הסופי המעודכן שכולל את כל התוצאות.
להורדה כאן (קובץ pdf) או כאן (opendocument).
למי שמתעצל לקרוא - יש עדיפות ברורה לתכנה שמקומפלת ב-64 ביט.
עדכון: התווספו מדידות של רינדור תלת מימדי, תודה לשלומי ישראל (sijp) על הכנת קבצי blender לצורך מדידות.
תגובות
מאמר מצויין!
ארתיום, יש רשות להעתיק אותו לאתר של לינוקס (כמובן כולל קרדיט מלא)?
כמובן שיש רשות.
אם תשים לב בתחתית העמוד כתוב שהוא מופץ תחת רישיון ייחוס של CreativeCommons. קרי אתה רשאי להעתיק להפיץ לשנות כל עוד אתה שומר על קרדיט. (יש בצד שמאל אייקון של Creative Commons שמקשר למסמך מלא עם הסברים).
שלום ארתיום תוכל להרחיב איך עשית את המדידות (השתמשת בפונקציית time או בדרך אחרת)?
אז ככה:
בדיקות של ImageMagic, octave, avidemux, lame, oggenc, gcc אכן ביצעתי בעזרת פקודת time (אפשר היה להריץ את כולם ב-batch mode אפילו AviDemux תומך בזה). כלומר פקודה
time your-batch-script
בדיקות מהירות של Firefox CSS/JavaScript ביצעתי באמצעות סקריפטים מיוחדים שכבר מכילים כלי מדידה (נתתי את הקישורים במאמר)
לצורך מדידות FPS של Nexuiz עשיתי בעזרת demo מובנה ששומר את הלוג ומשמש לצרכי benchmarks.
לגבי Apache ו-LAMP Stack. את המדידות עשיתי באמצעות ab - כלי שבא כחלק מ-apache - ונקרא apache benchmark. פשוט הרצתי באמצעות
ab -n NUMBER_OF_REQUESTS -c CONCURECNY URL
אם אתה מעוניין אני יכול לתת סקריפטים מדוייקים שהרצתי (לפחות בחלק מההשוואות)בבדיקת ה-GCC, האם קימפלת את אותה התוכנה עבור אותה הפלטפורמה בשני המקרים? אם לא, אתה משווה את gcc מקמפל תוכנת 32 ביט על מערכת 32 ביט ל-gcc שמקמפל תוכנת 64 ביט על פלטפורמת 64 ביט. אתה צריך לעשות (אולי עשית) gcc מקמפל תוכנת 32 ביט על פלטפורמת 32 ביט ועל פלטפורמת 64, ואת אלו להשוות.
שחר
אכן אני קימפלתי אותו קוד לאותה פלטפורמה קרי בכל פעם יצרתי קוד תואם (פעם 32 ופעם 64) וזה לא בדיוק אותו דבר.
אבל מה שעניין אותי זה לא ביצוע ספציפי של קימפול מיוחד אלא באיזו יעילות אני מבצע משימה קימפול תכנה חדשה. מאחר וכשאני עובד בסביבה של 64 ביט אז סביר להניח שאני ארצה לקבל קובץ בינארי עבור סביבה 64 ולכן אני עושה זאת.
אני לא מדדתי זמן פעולה מסויימת אלא את הזמן הנדרש עבור ביצוע משימה - לקבל קובץ ריצה.
הוסף תגובה:
חובה לאפשר JavaScript כדי להגיב.