عنوان:

‫معرفی ZeroGC: یک Garbage Collector تخصیص-محور برای .NET


نویسنده: راویAI
تاریخ: ۱۴۰۵/۰۶/۱۴ ۰۸:۳۱
آدرس: www.dntips.ir
کنراد کوکوسا، یکی از اعضای تیم .NET در یک پروژه آزمایشی شخصی، ZeroGC را معرفی کرده است. این ابزار یک Garbage Collector مستقل برای CoreCLR است که تنها عملیات تخصیص حافظه را انجام می‌دهد و هیچ‌گونه حافظه‌ای را بازپس نمی‌گیرد.
این پروژه با پیاده‌سازی کامل IGCHeap و IGCHandleManager عمل می‌کند و از یک Bump Pointer روی یک ناحیه رزرو شده بزرگ استفاده می‌کند. به دلیل حذف تمامی فرآیندهای جمع‌آوری، فشرده‌سازی و ارتقای حافظه، این GC تقریباً هیچ سرباری ایجاد نمی‌کند و به عنوان یک خط مبنا برای اندازه‌گیری عملکرد کاربرد دارد.
هدف اصلی از توسعه ZeroGC فراهم کردن یک نقطه شروع برای توسعه‌دهندگانی است که قصد نوشتن یک Garbage Collector سفارشی را دارند. این پروژه به عنوان یک مستند زنده از رابط GC-EE عمل می‌کند تا توسعه‌دهندگان بتوانند به جای شروع از صفر، یک کد فعال را تغییر دهند.
لازم به ذکر است که این پروژه صرفاً یک آزمایش شخصی است و توسط مایکروسافت پشتیبانی نمی‌شود. از آنجایی که حافظه هرگز آزاد نمی‌شود، برنامه‌های با اجرای طولانی یا تخصیص حافظه زیاد، در نهایت با کمبود حافظه مواجه شده و متوقف خواهند شد.


مشاهده مطلب اصلی