TGViewer
Gopher Academy Gopher Academy @gopher_academy · 3.85K subscribers
Post #4260 761
Gopher Academy 📌 Memory Allocation in Go ❌این پست اپدیت می‌شود ❌ 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go می‌پردازیم. درک درست از ساختار حافظه به شما کمک می‌کند عملکرد برنامه‌هایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction…
📌 Span and Size Class in Go

🔹 یکی از مفاهیم کلیدی در مدیریت حافظه گو Span است.

🧩 Span

* یک Span شامل یک یا چند Page متوالی است.
* هر Span به چند شیء هم‌سایز تقسیم می‌شود.
* این کار باعث می‌شود Go از استراتژی segregated fit allocation استفاده کند:

* تخصیص بهینه برای اندازه‌های مختلف
* کاهش fragmentation (تکه‌تکه شدن حافظه)

🔸 اطلاعات هر Span در یک ساختار به نام mspan ذخیره می‌شود:

* آدرس شروع اولین Page
* تعداد Pageها
* تعداد اشیاء تخصیص‌یافته
* و سایر متادیتا

📦 Size Class

ا * Go سایز اشیاء را در گروه‌هایی به نام Size Class تقسیم‌بندی می‌کند.
* هر Span دقیقاً به یک Size Class تعلق دارد.
ا * Go در مجموع ۶۸ Size Class تعریف کرده است:

ا * Class 0 → برای اشیاء بزرگ‌تر از 32KB
ا * Class 1 تا 67 → برای اشیاء کوچک و خیلی کوچک

به زبان ساده:
ا Go با تقسیم حافظه به Span و گروه‌بندی آن‌ها در Size Class**، تخصیص حافظه را سریع و بهینه نگه می‌دارد.

➖➖➖➖➖➖➖➖
👑 @gopher_academy
  • 🤝 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 →