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

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



  #1  
ישן 09-03-2009, 00:52
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
שני benchmark - מהירות טעינת מחלקות בגודל שונה, ומהירות include/require

קודם כל יש לשים לב שבשני הבדיקות אני יוצר תיקייה וקבצים בתוך התיקייה הזו.
את שני הדברים האלה ניתן לשנות בקלות בתוך הקבצים.
יצירת הקבצים חיוני לבדיקה.

מהירות include/require:

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

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

קובץ הבדיקה:
require_vs_include.php


מהירות new בטעינת מחלקות עם גודל משתנה:

שוב, לא קריטי...
מחלקה בגודל של 25 משתנים ו-25 מתודות (ציבוריים) לוקח זמן הטעינה בסדר גודל של E-5.
בעבר חשבתי שמחלקה זה דבר "כבד" יותר.

קובץ הבדיקה:
new_keyword.php

ניתן לשנות בקובץ כמה מאפיינים של הבדיקה ע"י שינוי הקבועים (constants).
שינוי אחד משלושת הקבועים התחתונים מחייב מחיקה של התייקיה (וגם של הקבצים בתוכה) שנוצרה בעקבות הסקריפט, על מנת שיתקבלו תוצאות נכונות.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 12-03-2009, 14:11
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 2 שנכתבה על ידי ישראל K שמתחילה ב "העפתי מבט חטוף על הקובץ..."

למה כן לבצע זאת בדרך הזאת?
כלומר, מה ההבדל בין 2 הדרכים?

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

בכל אחד מהבדיקות, עשיתי את בדיקת הזמן בצורה הזו:

אינקלוד של 100 קבצים מהתיקייה הרלונטית, כדי שתהיה לי בכלל האפשרות לעשות ממוצע של 100 זמנים שבדקתי (כי הרי אסור באותו הקובץ שיהיה מחלקות עם שם דומה --> collisions).
בדיקת הממוצע של ה-100 אינקלודים האלו. כל אינקלוד לקח X זמן, ואז הממוצע יהיה x/100.
לכן בדקתי את הזמן שלוקח אינקלוד יחיד והוספתי את זה למשתנה שאוסף את הזמן (timer).
חשוב לשים לב שכל הקבצים בעלי תוכן שווה, מלבד השם של המחלקה שעולה באופן סידורי (בתלות במשתנה i) !
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 12-03-2009, 14:59
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 3 שנכתבה על ידי dorM שמתחילה ב "למה כן לבצע זאת בדרך..."

* אם הקבוע אתה יכול להשתמש גם ליצירת הקבצים המוכללים.

* למה להשתמש בבדיקת משך הזמן מחוץ לפעולות ולא בצמוד לפעולה עצמה * משך הזמן של כל פעולה? כי זה מיותר, לחלוטין!
כיון שאתה משתמש בקוד זהה בשני הבדיקות, לא משנה לנו מה משך הזמן המדוייק של כל ביצוע פעולה בפני עצמה, אלא מה הממוצע של הזמן הכולל.
ניתן להסתייג מזה בטענה שביצוע פעולות הלולאה עצמה (לא ביצוע הקוד שבתוך הלולאה) [כגון קידום המשתנה i] עלול להתעכב מסיבה כלשהי רק בחלק מהמקרים ולכן ה"משוואה" לא תהיה זהה, אך עדיין הגיוני יותר לבדוק את משך הזמן לפני הרצת X פעולות זהות ולאחריהם, וכנ"ל לפני ואחר הרצת X פעולות זהות באמצעות קוד שונה וכך להשוות.

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

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

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

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

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



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

הדף נוצר ב 0.04 שניות עם 12 שאילתות

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

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