📌User objects and size class objects
🔹 در Go، آبجکتهای واقعی برنامه (User Objects) داخل آبجکتهای مربوط به Size Class قرار میگیرن.
* سایز User Object معمولاً از Size Class Object کوچیکتره → همین اختلاف باعث Waste میشه.
* علاوه بر اون، در انتهای Span هم یه بخشی از حافظه استفادهنشده باقی میمونه (Tail Waste).
* مجموع این دو نوع هدررفت = Total Waste.
🧩 مثال (Size Class 55):
* هر Size Class Object = 10880B
* 3 تا User Object (هرکدوم 10241B) توی Span جا میگیرن.
* Waste ناشی از اختلاف سایز: 1917B
* Tail Waste: 128B
* Total Waste = 1917 + 128 = 2045B ≈ 6.24% کل Span
🔑 نتیجه:
حتی با وجود Segregated Fit Strategy که هدفش کاهش Fragmentation هست، باز هم کمی هدررفت اجتنابناپذیر وجود داره.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Post #4263
817
Gopher Academy 📌 Memory Allocation in Go ❌این پست اپدیت میشود ❌ 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم. درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction…

- 🔥 2
- ❤ 1