عنوان:

‫بنچمارک‌ Runtime Async در نسخه Nightly دات‌نت ۱۱ (.NET 11)


نویسنده: وحید نصیری
تاریخ: ۱۴۰۵/۰۵/۱۸ ۰۸:۴۶
آدرس: www.dntips.ir

در جدیدترین نسخه‌های Nightly دات‌نت ۱۱ (با هدف عرضه در نسخه RC1)، قابلیت Runtime Async با بهبودها و بهینه‌سازی‌های کارایی بسیار چشمگیری همراه شده است. تست‌های بنچمارک اجراشده روی سورس‌کد ساخت‌شده از شاخه اصلی (Main Branch) دات‌نت ۱۱ که تمامی سناریوهای متداول Async (از جمله حالات بدون معلق‌سازی یا No-Suspension و حالات تعلیق واقعی) را پوشش می‌دهد، نتایج شگفت‌انگیزی را به نمایش گذاشته‌اند. مقایسه عملکرد بین دات‌نت ۱۰ (بدون Runtime Async) و دات‌نت ۱۱ (با فعال‌سازی Runtime Async هنگام کامپایل) نشان می‌دهد که سرعت فراخوانی‌های Async بدون معلق‌سازی تا ۱۹.۶ برابر افزایش یافته و عملاً به کارایی کد همگام (Synchronous) رسیده است؛ همچنین انتظار Taskهای تکمیل‌شده تا ۱۲ برابر سریع‌تر شده و تخصیص حافظه (Allocation) در آن به صفر رسیده است. افزون بر این، سرعت Task.Yield تا ۷ برابر، ادامه‌های ThreadPool تا ۳.۲ برابر و زنجیره‌های ماشین حالت (State-Machine) تا ۷.۴ برابر با مصرف حافظه بسیار کمتر بهبود یافته‌اند؛ نتایجی بسیار نویدبخش که انتظار برای انتشار نسخه نهایی (GA) دات‌نت ۱۱ را هیجان‌انگیزتر از همیشه می‌کند.


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