יעילות בקריאה לLOG

d_style

New member
יעילות בקריאה לLOG

מחלקת הLOG שלי מבצעת בדיקה מול Trace Level שמוגדר גלובלית. בכל פעם שאני קורא לפונקציית הכתיבה בLOG, אני מעביר את סוג הLevel של ההודעה, והלוג בודק האם הוא רלוונטי, ולרשום אותו לקובץ. כשאני קורא לפונקצית הקריאה של הLOG אני מעביר גם STRING, האם יש דרך לייעל את הקוד, מאחר ובחלק מהמקרים ההעברה של הSTRING מיותרת מאחר ואין בו שימוש (בגלל הTrace Level) ? האם שליחת הפרמטר by ref תייעל את הקוד? האם קביעת אובייקט סטטי בLOG מסוג STRING, ועדכונו לפני הקריאה לWRITE היא יותר יעילה מלהעביר אותו לWRITE בתור פרמטר? תודה
 

Justin Angel

New member
קה פרובלמה מואי צ'יקיטה?

String הוא Refference Type ולא Value Type ולכן אין שום שיקול של שימוש בזכרון כאשר מעבירים אותו למתודה. תמיד מועבר פוינטר ולא משוכפל התוכן למחרוזת חדשה על הזכרון.
 

דינדנקט

New member
חוץ מבמקרים שבהם אתה "מייצר" string

במידה ואתה "מייצר" string לצורך כתיבה ללוג. ואתה יודע שהפעולה הזו היא פעולה יקרה שווה לשקול את רמת ה LOG לפני ייצרת ה string. אתה אומנם מקבל קוד פחות יפה אבל יותר יעיל (ואז אתה נתקף בגעגועים למקרו)
 
למעלה