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

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



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

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

במאמר זה נסקור שתי שיטות אופטימיזציה ברמת המהדר (לנו אין שליטה על תהליך זה)
ביטול שטח מת וקוד מת
אופטימיזציה ברמה בסיסית (מהדר)

הפרק הקודם עסק בהעברה ע"י העתקה. כאשר התהליך מבוצע ע"י המהדר, לעיתים נוצרים שטחים מתים.
שטחים אלו, הינם קטעים שהתכנית לעולם לא תקרא להם.
אם ניקח את הדוגמה האחרונה:
קוד PHP:
 x value;
....
function(
x); 


בה המהדר הפך את הקוד ל:
קוד PHP:
 function(value); 

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

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

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


ביטול של תת-ביטויים נפוצים
אופטימיזציה ברמה בסיסית (מהדר)

במקרים שבהם מזוהים על ידי המהדר ביטויים שכולם מייצגים את אותו הערך, המהדר מחשב את הערך
פעם אחת ומציב אותו במקום כל אחד מהביטויים המקוריים.
דוגמה (פשוטה):
קוד PHP:
 a =  t;
....
t


במקרה זה המהדר יוסיף משתנה זמני שיחזיק את ערך הביטוי:
קוד PHP:
 temp rt

ויציב את ערכו בשאר הביטויים:
קוד PHP:
 a temp;
btemp


במקרים מסויימים (תלוי בשכיחות הביטוי) תהליך זה יוריד את גודלו של קובץ הביצוע, אבל ברוב המקרים
זה יביא להאצת תהליך הביצוע של התכנית.


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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

הדף נוצר ב 0.05 שניות עם 11 שאילתות

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

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