TGViewer
Gopher Academy Gopher Academy @gopher_academy · 3.86K subscribers
Post #4286 428
Gopher Academy 📌 Memory Allocation in Go ❌این پست اپدیت می‌شود ❌ 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go می‌پردازیم. درک درست از ساختار حافظه به شما کمک می‌کند عملکرد برنامه‌هایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction…
🧠د Heap Bits در Go — هوشمندی در مدیریت حافظه

در Go، اشیاء کوچکتر از ۵۱۲ بایت درون span‌هایی نگهداری می‌شن که خودشون چندین شیء هم‌اندازه دارن.
اما چطور Garbage Collector می‌فهمه کدوم بخش از این اشیاء شامل pointer هست؟
پاسخ: با Heap Bitmap ✅

🔹 هر span یک نقشه‌ی بیتی (bitmap) در انتهای خودش داره.
🔹 هر بیت مربوط به یک "word" از حافظه (معمولاً ۸ بایت) هست:

1️⃣ = شامل pointer

0️⃣ = داده‌ی عادی (non-pointer)

به این ترتیب، GC فقط بخش‌هایی رو اسکن می‌کنه که واقعاً pointer دارن — سریع‌تر و بهینه‌تر از اینکه کل حافظه بررسی بشه.

📦 هر span علاوه‌بر فضای مورد نیاز برای اشیاء، مقداری فضا برای این bitmap کنار می‌گذاره.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
  • ❤ 1
  • 👍 1
More from @gopher_academy
  1. Sep 29, 2026📢 معرفی اپ «نویسنده تاریخ و مبلغ چک» موقع نوشتن چک، تاریخ و مبلغ را با حروف نوشتن وقت می‌…
  2. Sep 29, 2026🔵 عنوان مقاله How Do You Add a New Keyword to Go? (For Sum Types) 🟢 خلاصه مقاله: در زبان…
  3. Sep 28, 2026🔵 عنوان مقاله The First Official TinyGo Hardware 'Starter Kit' 🟢 خلاصه مقاله: در دنیای ف…
  4. Sep 28, 2026🔵 عنوان مقاله Is Go's FIPS 140 Code Bloating Your Binaries? 🟢 خلاصه مقاله: در دنیای فناو…
  5. Sep 28, 2026🔵 عنوان مقاله design for sum types 🟢 خلاصه مقاله: طراحی انواع جمع (Sum Types) در حال حاض…
  6. Sep 28, 2026🔵 عنوان مقاله Hister: A Go-Powered Search Engine for Your Own Stuff 🟢 خلاصه مقاله: در دن…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →