عملکرد ابزار NET Object Allocation.

عملکرد ابزار NET Object Allocation.
فهرست مقاله [نمایش]

     

    با انتشار Visual Studio 16.10 موتور آنالیز جدیدی برای Performance Profiler با .NET Object Allocation Tool ارائه می‌شود، اولین ابزاری است که روی آن نصب می‌شود. این ابزار دارای برخی ویژگی‌های جدید و افزایش قابل‌توجه عملکرد است. با اَپ C# و دادن یک شات (shot) به آن، allocationهای جعلی را شناسایی کرده و با حذف آنها سرعت اَپ خود را افزایش دهید.

     .NET Object Allocation Tool در حال حاضر Source Link  را پشتیبانی می‌کند که به شما اجازه می‌دهد هنگام رفتن به سورس، همه سورس فایل‌ها را دریافت کنید و به شما این امکان را می‌دهد که ببینید allocationها دقیقاً کجا در حال وقوع هستند حتی اگر در کد شما نباشند.

     جدیدترین نسخه ویژوال استدیو ارایه شده است که ما در مقاله Visual Studio 2019 v16.11منتشر شد به بررسی این ورژن از ویژوال استدیو پرداخته ایم .

     

    SourceLink

     در حال حاضر Search پیشنهادهای autocomplete (کاملاً خودکار) برای کمک به شما در پیداکردن و بررسی سریع‌تر گزارش‌ها دارد.

    AutoComplete
     

    ما اطلاعات بیشتری را به Collections view اضافه کرده و تلاش می‌کنیم آگاهی و دانش بیشتری در موردNET Garbage Collector (GC). ارائه دهیم. حالا می‌توانید ببینید که چرا یک GC همراه با آمارهای مربوطه رخ‌داده است (مانند: چه مدت طول کشید، اندازه heap ، و چه تعداد شی جمع‌آوری شده).

    Collected

    یکی از زمینه‌هایی که بیشترین انرژی را صرف آن کرده‌ایم، بهبود عملکرد .NET Object Allocation Tool است. به این منظور، بر روی دو کار بزرگ که tool انجام می‌دهد تمرکز کرده‌ایم:

    1. ساخت مدل تخصیص اولیه که برای جستجوی تخصیص‌ها برای veiwها  استفاده می‌شود.
    2. ساخت درخت فراخوانی که برای نشان‌دادن درخت فراخوانی، توابع و backtrace view (پس‌گرد) استفاده می‌شود.

    همان‌طور که در جدول زیر مشاهده می‌کنید، ابزار در آخرین ورژن Visual Studio دارای سرعت بیشتری است.

     

    Build Call TreeBuild Allocation ModelASP.NET Scenarios App

    295s -> 24s

     

    ~12x faster

    3.5s -> 2.2s

     

    ~1.5x faster

    Small trace (500K allocations)

    695 -> 58s

     

    ~11x faster

    6.9s -> 3.6s

     

    ~2x faster

    Medium trace (1M allocations)

    1556s -> 109s

     

    ~14x faster

    22.5s -> 8.4s

     

    ~2.5x faster

    Large trace (3.1M allocations)

     

     

    همان‌طور که می‌بینید این نسخه به طور قابل‌توجهی سرعت بیشتری دارد، ورژن جدید حتی تجزیه‌وتحلیل بیشتری انجام می‌دهد بااین‌وجود بازهم سریع‌تر از ورژن قبلی است. ما این تغییرات را به سایر ابزارهای  Performance Profiler برای Visual Studio 2022  گسترش می‌دهیم و ایده‌های دیگری در مورد چگونگی ذخیره زمان بیشتر داریم. امیدوار باشید که تجربه پروفایلینگ خود را سریع‌تر کسب کنید.

     

    اطلاعات نویسنده

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران