white shadow 3
New member
חישוב CPE
הי.
משהו שלא סגור לי עד הסוף ולא כ"כ מצאתי איפה בספר הלימוד הנושא הזה נכנס...
נניח ויש לי מצב בו יש לי לולאה שמבצעת חיבור/חיסור/אחר איברים, ונניח כי אנו במצב שבו אין לנו הגבלת משאבים, כלומר אנו יכולים לבצע, לדוגמא, יותר מ-2 פעולות int בו זמנית.
נניח וקטע הקוד מבצע את הפעולות הבאות:
אז לפי הבנתי, ממה שהיה כתוב, חיבור CPE של הקטע הזה (לא כל התוכנית) במקרה הזה הוא שצריך להסתכל על "מרווח הזמן" שעבר בין 2 איטרציות (נניח ואני מצייר לי 3-4 איטרציות עוקבות), ואת זה לחלק במספר האלמנטים ש"טיפלתי בהם" (לדוגמא, חיברתי) בטווח הזמן הזה
בתרשים שלי שמתי את 2 פעולות ה-add באותה יחידת זמן, שכן אפשר לחשב את x ואת y ביחד באותו הזמן, שכן תוצאה של האחד אינה תלויה בתוצאה של השניה ולכן צריך "לחכות" לו וקיבלתי תמונת מצב שבה יש לי 1 מחזורי שעון בין כל 2 איטרציות עוקבות....אז ה-CPE יוצא לי 1/2? זאת נשמעת לי תוצאה לא כ"כ הגיונית
תודה!
הי.
משהו שלא סגור לי עד הסוף ולא כ"כ מצאתי איפה בספר הלימוד הנושא הזה נכנס...
נניח ויש לי מצב בו יש לי לולאה שמבצעת חיבור/חיסור/אחר איברים, ונניח כי אנו במצב שבו אין לנו הגבלת משאבים, כלומר אנו יכולים לבצע, לדוגמא, יותר מ-2 פעולות int בו זמנית.
נניח וקטע הקוד מבצע את הפעולות הבאות:
קוד:
for (i=0; i<array_size; ++i) {
x+=A[i];
y+=A[i];
}
אז לפי הבנתי, ממה שהיה כתוב, חיבור CPE של הקטע הזה (לא כל התוכנית) במקרה הזה הוא שצריך להסתכל על "מרווח הזמן" שעבר בין 2 איטרציות (נניח ואני מצייר לי 3-4 איטרציות עוקבות), ואת זה לחלק במספר האלמנטים ש"טיפלתי בהם" (לדוגמא, חיברתי) בטווח הזמן הזה
בתרשים שלי שמתי את 2 פעולות ה-add באותה יחידת זמן, שכן אפשר לחשב את x ואת y ביחד באותו הזמן, שכן תוצאה של האחד אינה תלויה בתוצאה של השניה ולכן צריך "לחכות" לו וקיבלתי תמונת מצב שבה יש לי 1 מחזורי שעון בין כל 2 איטרציות עוקבות....אז ה-CPE יוצא לי 1/2? זאת נשמעת לי תוצאה לא כ"כ הגיונית
תודה!