הנדסה אזרחית & הנדסה מבנית
אסטרטגיות לזיכרון לקרנות ורשימות: מהירות ומרחב
Table of Contents
הקצאת זיכרון יעילה חיונית לקידוד ביצועי מבנים נתונים כגון מערךים ורשימות.בחירת האסטרטגיה הנכונה יכולה להשפיע הן על מהירות הגישה לנתונים והן על כמות הזיכרון המשמש.
זיכרון אל-מיקום לקרנות
ארונות בדרך כלל דורשים בלוקים זיכרון רציונאליים.הקצאת סטטית שומרת על גודל קבוע ביצירת, אשר יכול להוביל למרחב מבוזבז אם המערך הוא underutilized. דינמי הקצאה, מצד שני, מאפשר התחדשות אבל עשוי לכלול מעל פני השטח במהלך הקצאה אמיתית.
אסטרטגיות למערך כוללות:
- (ב) ⁇ :0) הקצאה סטטית: גודל קבוע: גודל קבוע, פשוט אך גמיש.
- (ב) ⁇ :0) ⁇ ⁇ : ⁇ 1 (ה) ⁇ ככל הנדרש, איזון בין זיכרון מעל ראש וגמישות.
- (ב) ,0) מעבר להחלפה: 1FLT: שטח נוסף של תפוצה (Allocate) כדי להפחית את תדירות ההקצאה האמיתית.
זיכרון אל-מיקום לרשימה
רשימות, במיוחד רשימות מקושרות, להקצות זיכרון לכל רכיב בנפרד.זה מאפשר שילוב גמיש ומחיקה אבל יכול להוביל זיכרון מפורש ולהגדיל את פני השטח.
אסטרטגיות נפוצות כוללות:
- (ב) מדרש (ב"ג): "הזיכרון הקדש" (בראשית כ"ד, כ"ד).
- (ב) ⁇ :0) מקום מילואים 1:1 עבור מספר רב של צמתים לשיפור ביצועים במהלך התערבויות גדולות.
- (ב) ויקרא י"א: "ה' א': "ה' א'" (בראשית כ"ד) "והיה" (בראשית כ"ד).
מהירות ומרחב
בחירת אסטרטגיית הקצאה כוללת עסקאות.מערך סטטי הם מהירים אך גמישים, בעוד שערכים דינמיים ורשימות מציעים גמישות בעלות של מעבר נוסף. Pre-allocation ו-Bloing יכולים להתאים את הביצועים אבל עשוי להגדיל את השימוש הראשוני בזיכרון.