View Single Post
ישן 27-09-11, 21:25   # 1
Jaapi
חבר חדש
 
מיני פרופיל
תאריך הצטרפות: Sep 2011
הודעות: 39

Jaapi לא מחובר  

שאלת יעילות - מהירות לעומת זכרון

אני בונה מערכת שדורשת ריבוי שפות (מבחינת הממשק) - בחנתי 3 דרכים ואני לא בטוח מה עדיף.. הרצתי בדיקות על שלושת הדרכים שלי ויוצא שבמצב של מערך עם הרבה ערכים נתפס הרבה זכרון אבל העמוד נטען מהר, ובעבודה עם פונקציה שבודקת עם switch-case העמוד נטען הרבה יותר לאט. אני אציג את הנתונים
רק לציין, מדובר ב-22 ערכים שהוגדרו, ובלולאת for שרצה מ-1 עד מליון כל ערך נבחר לפי חלוקת מוד (%) של המספר הנוכחי ב-2 או 3 (כשהשארית היא 0 - עם דיפולט בהתחלה לערך ראשוני)

דרך ראשונה - הגדרת כל ערכי השפה במערך ושליפה ישירות מהמערך ($arr['string_value'])
- זמן: 0.476591110229 שניות
- זכרון: 6536 bytes

דרך שניה - הגדרת כל ערכי השפה במערך ושליפה בעזרת פונקציה מקשרת (הרעיון הוא היכולת לשנות ולשפר במקרה הצורך בהמשך - שזה די חשוב לעומת להיות תקוע עם סתם מערכים מפוזרים בקוד)
- זמן: 0.960635185242 שניות
- זכרון: 6704 bytes

דרך שלישית - הגדרת פונקציה עם switch ו-case לכל ערך שפה שקיים - עם דיפולט שמחזיר את המחרוזת שקראו לה
- זמן: 1.46953487396 שניות
- זכרון: 848 bytes


אשמח לשמוע את דעתכם,
ואם יש לכם רעיון אחר יותר יעיל - אני אשמח אם תשתפו אותי תודה
  Reply With Quote