בנית-אתרים.com – בלוג בנית אתרים
בקטגוריה: טיפים והערות|יעילות|שפות תכנות
16 ספט' 2010שלום לכם קוראים יקרים, בפוסט הזה אדבר על שיטות שונות להכניס נתונים למערך ועל ההבדלים ביניהן מבחינת ביצועים.
ראשית אציג את 4 השיטות הנבדקות:
בניתי מבחן קטן, שמכניס את המספרים מ0 עד 99,999 לתאים המתאימים (0 ב0, 1 ב1 וכו') – סה"כ 100,000 תאים.
המבחן בנוי מהצהרה על המערך ולולאה שמכניסה את $i למקום ה$i בהתאם לשיטות 1 עד 3 (הניחו כי $val הוא $i).
define('TIME', microtime(true)); $arr = array(); for($i = 0; $i < 100000; $i++) { // HERE COMES THE ACTION } echo microtime(true) - TIME;
נוסף לכך הרצתי במקום הלולאה את הקוד הבא:
$arr = range(0, 99999);
התוצאות נראו כך (פחות שניות יותר טוב):
או בגרף (כמה שנמוך יותר, יותר מהיר):

לכן הסקתי את המסקנות הבאות:
שמי שי ואני בונה אתרים וכיום חותך (מקודד) ומתכנת.
אני עובד אל מול התקן העולמי של W3C, ומתכנת בשפת PHP תוך שימוש בטכנולוגיות עדכניות, תוך שמירה על קוד שניתן לתחזוקה.
בין כישורי נמנים: PHP, SQL, (X)HTML, CSS (2-3), XML, JavaScript ( + jQuery) ועוד.
2 תגובות להשוואה בין סוגי הכנסה למערך
איתי סלע
18 ספטמבר, 2010 בשעה 17:00
אדיר!
הפוסטים שלך בנושא יעילות מאוד מעניניים וכן מאוד חשובים!
לכל בעיה יש מספר רק של פיתרונות אפשריים ואני באופן אישי מבזבז זמן רב בהתחבטויות
באיזה פיתרון עליי לבחור (ולעיתים יעילות אינה בראש מעיני – יש שיקולים נוספים כמו זמן פיתוח, עלות, גמישות עתידית וכו').
ממש כייף שאתה מציג את האפשרויות הטובות ובכך מקל על ההתלבטות וכן עוזר ליעל את הקוד!
ממליץ להוסיף קטגורית "יעילות" בבלוג ואני כמובן אשמח לקרוא כל פוסט שיתפרסם שם
Shay | Exalted Web
18 ספטמבר, 2010 בשעה 19:47
ממש כיף לשמוע תגובה כזו ממך, קיבלתי את עצתך בנושא הקטגוריה.
תודה D: