התייעצות קלה

asafeven

New member
התייעצות קלה

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

Zeliran

New member
........

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

itaym02

New member
ONE moment please

ארוע זה STRING של 50 תוים. במקרה הגרוע, בלי קווץ זה 50 BYTES. זאת אומרת ארועים לשנה שלמה זה 365*50 זה פחות מ2K נניח שאתה טוען לתוך DS, ואז יש לך את כל האובייקטים מסביב (אפשר לחשב אבל נכפיל ב100) - יוצא 0.2 MB . אני חושב שכל מחשב כיום יעמוד בזה - אני הייתי טוען לפחות שנה שלמה.
 

Zeliran

New member
איך הגעת למסקנה הזו?

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

itaym02

New member
אתה צודק - כוונתי היא:

כוונתי, בעקיפין, הייתה לתת דרך לפתרון הבעיה בצורה "מדעית" יותר.
 

asafeven

New member
האירוע הוא אכן אובייקט

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

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

asafeven

New member
אני חושב כן לטעון את זה מDB

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

תבדוק כמה מקום בממוצע תופסת רשומה בזיכרון (זה כמובן תלוי באיך שיצרת את האובייקט רשומה). תחשב בערך כמה רשומות הגיוני שיהיו ביום אחד (למשל ~8) ואז תחשב עלויות זיכרון עבור טעינה של יום אחד, שבוע, חודש, שנה וכד'. לעניות דעתי טעינה של עד 30 מגה לזיכרון היא סבירה בהחלט למרות שאם אתה רוצה לתמוך גם בבעלי מחשבי-עגלה כדאי לצמצם את זה לכיוון ה10-15 מגה...
 
למעלה