|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
חבר חדש
|
שאלת יעילות - מהירות לעומת זכרון
אני בונה מערכת שדורשת ריבוי שפות (מבחינת הממשק) - בחנתי 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 אשמח לשמוע את דעתכם, ואם יש לכם רעיון אחר יותר יעיל - אני אשמח אם תשתפו אותי ![]() |
![]() |
![]() |
# 2 |
משתמש - היכל התהילה
|
דיקדוקי עניות... בטח שתשתמש בזיכרון ואם המערכת תגיע לרמה שזה מה שמעמיס על השרת, אני מניח שכבר יהיה לך מספיק כסף כדי לעבור למינימום VPS ולעבוד עם MEMCACHE
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
# 3 |
חבר חדש
|
יש בזה משהו, אבל עדיין מדובר בהבדל די רציני מבחינת זכרון, לצורך העניין - להגדיר 1000 תאים במערך בשביל להשתמש ב-5 בעמוד כלשהוא
יש לך אולי רעיון שיעבוד מספיק מהר ולא יצרוך כ"כ הרבה זכרון? |
![]() |
![]() |
# 4 |
חבר בקהילה
|
אני מניח שאתה יכול ליצור אתר מראה לכל שפה, אבל אז ככה זה ממש ממש לא נוח לעבוד וכל שינוי מצריך עבודה שחורה...
או שאולי תנסה לעבוד עם שליפת ערך שפה לפי המפתח... אבל הכי נוח שתעבוד עם קבצי שפה, ככה רוב המערכות עובדות, בשביל מה להמציא את הגלגל מחדש? |
![]() |
![]() |
# 5 |
I am root
|
זכרון זה הרכיב הכי זול במחשב...
אם כבר אתה מתמקד באופטימזציה , המעבד הוא שקובע בשורה התחתונה, לא כמה זכרון אתה תופס. אנחנו בעידן ה 64BIT כבר, אתה מודאג ממונחים של המאה הקודמת .. תסתכל בקובץ phpinfo כמה זכרון יש לך לעבוד איתו עם האפליקציה שלך, ותדע פחות או יותר עם מה יש לך לעבוד. |
![]() |
![]() |
# 6 |
חבר חדש
|
הזכרון יכול להשתנות, זאת מערכת שאמורה בסופו של דבר לעבוד על הרבה שרתים (ובהתחלה לפחות אני לא אוכל לשלוט בזכרון),
אבל בכל זאת צודקים, למרות שעדיין הייתי מעדיף למצוא שיטה יותר יעילה מזה תודה על התשובות |
![]() |
![]() |
# 7 |
משתמש - היכל התהילה
|
אתה יכול אולי להריץ את זה על זיכרון אחר כמו memcached או טבלה בזכרון.
בשיטה הזו תקבל ביצועים טובים, והזיכרון יהיה משותף לכל הבקשות, ככה שתמיד תישאר עם כמות זיכרון קבועה ללא תלות בכמות הבקשות. |
![]() |
![]() |
# 8 |
חסום
|
לא יודע כמה מבחינת זכרון וכל זה אבל אני משתמש בקובץ שפה ככה
קוד:
define("_TAGSMANAGE","ניהול תגיות"); |
![]() |
![]() |
# 9 |
חבר חדש
|
חשבתי גם על שימוש ב-define, אבל לא ראיתי הרבה הבדל בתכלס בין זה לבין מערכים, ויותר נוח לי לעבוד עם מערכים
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|