לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 02-08-2005, 21:09
צלמית המשתמש של fat fish
  fat fish fat fish אינו מחובר  
 
חבר מתאריך: 20.06.03
הודעות: 5,616
שיטות אופטימיזציה - פרק 1

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

שיטות אופטימיזציה - שימוש באוגרים של המעבד
אופטימיזציה ברמה בסיסית

בעבר, בשפת C - הומלץ להשתמש במילה השמורה register על מנת "לבקש" להשתמש באוגרים של
המעבד לאיחסון משתנים. כמובן שהדבר היה רק בגדר בקשה, והמעבד יכול היה להחליט אם יש לו אוגר
פנוי לשימושים אלה.
הסיבה לבקשה זו, היא שהמעבד קורא את תכנם של האוגרים הרבה יותר מהר מהמחסנית, בה הוא
שומר את המשתנים.
היום אין צורך כמעט להשתמש ב register מכיוון שמהדרים מודרניים מטפלים בפעולה זו בצורה
אוטומטית - או למעשה אפילו מתעלמות מבקשה זו.
מהדר ++VC סורק כל פונקציה על מנת לקבוע איך היא משתמשת במשתנים שלה ומחלק ציונים
לכל משתנה על פי התועלת שתפיק הגדרת register למשתנה זה. היום ניתן לשמור כמעט כל סוג
נתונים באוגרים (משתנים גלובליים, מקומיים, קבועים, ארגומנטים של פונקציות ומצביעים שהועברו
באמצעות התייחסות).

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


פרקים קודמים:
אופטימיציה של קוד - מבוא
_____________________________________
[ זיו ]
[ fat fish ]


נערך לאחרונה ע"י fat fish בתאריך 02-08-2005 בשעה 21:11.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 13:56

הדף נוצר ב 0.03 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר