آموزش بهبود پرفورمنس و کارایی برنامه های سی شارپ 10

C# 10 Performance Playbook
تعداد ویدئو 32
زمان دوره 01:44:20
مترجم مرتضی گیتی
ناظر ترجمه مرتضی گیتی
دوبلر مرتضی گیتی
ناظر دوبلاژ مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش بهبود پرفورمنس و کارایی برنامه های سی شارپ 10 یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش بهبود کارایی برنامه های سی شارپ 10 است که با نام اصلی C# 10 Performance Playbook از شرکت OriginalProducerPlaceholder منتشر شده است.

عملکرد و یا Performance در سی شارپ دات نت

در اکثر برنامه ها، مشکلات مربوط به عملکرد مشکلی ایجاد نمی کند. به عبارت دیگر، سناریوهای خاصی وجود دارند که در آنها شما باید نگران عملکرد باشید. این سناریوها شامل موارد زیر هستند:

در یک سرور با بار بالا: بسیاری از request ها را با فرکانس بالا پردازش کردن: برای مثال چیزی شبیه به موتور جستجوی گوگل، که در آنها عملکرد بیشترین اهمیت را دارد. چند بهینه سازی می تواند به طور قابل توجهی زمان پاسخ و یا response time را کاهش دهد یا ده ها هزار دلار در منابع ابری و cloud resource صرفه جویی کند. در چنین سرورهایی، باید به طور فعالانه و پیش قدمانه عملکرد را به طور مرتب آزمایش کنید.

در الگوریتم ها: بهینه‌سازی عملکرد یک الگوریتم با زمان اجرای طولانی می‌تواند باعث صرفه‌جویی در زمان کاربر شود، یا امکان تحمل بار بسیار بالاتر را فراهم کند.

در یک کتابخانه یا یک افزونه: هنگامی که یک کتابخانه یا یک افزونه توسعه را می دهید، آن کتابخانه یا افزونه به طور بالقوه در یک سرور با بار بالا یا برنامه های حساس به عملکرد و یا performance-sensitive استفاده خواهد شد. علاوه بر این، کتابخانه یا افزونه شما با سایر کتابخانه ها و یک برنامه های دیگر در یک فرآیند و یا process یکسان قرار خواهد گرفت. کد شما ممکن است در مسیرهای داغ و یا hot path ها فراخوانی شود یا ممکن است از منابع زیادی استفاده کند که به عملکرد کلی فرآیند و یا process لطمه می زند. به همین دلیل، بهتر است برای بدترین سناریو در توسعه کتابخانه و افزونه برنامه ریزی کنید.

  • همه چیز را اندازه گیری کنید.
  • وقتی با عملکرد سروکار دارید، همه چیز را اندازه گیری کنید. فاکتورهای زیادی در برنامه های دات نت وجود دارند که بایستی اندازه گیری شوند. سوالاتی از قبیل اینکه چه زمانی اندازه‌گیری کنیم، چه چیزی را اندازه‌گیری کنیم، و چگونه اندازه‌گیری کنیم نیز مطرح هستند.
  • از performance profiler استفاده کنید.
  • هنگامی که صحبت از عملکرد به میان می آید، یک performance profiler بسیار مفید خواهد بود. می توانید از یک performance profiler برای شناسایی مشکلات عملکرد و مشخص کردن علت های خاص آن استفاده کنید.
  • یک performance profiler به شما امکان می دهد بخشی از زمان اجرای برنامه خود را ضبط کنید، آن را به عنوان یک snapshot ذخیره کنید و آن را بررسی کنید.
  • به فشار GC توجه کنید.
  • فرآیند garbage collection و یا GC بسیار با عملکرد مرتبط است. به جرات می توان گفت که مهم ترین چیزی که در یک فرآیند دات نت از نظر عملکرد باید فهمید GC است. در حالی که تخصیص ها و یا allocation بسیار ارزان هستند، فرآیند GC گران است و ما باید دائماً مراقب آن باشیم. به طور خاص، ما باید به دو معیار نگاه کنیم: درصد زمان صرف شده در فرآیند garbage collection و فرکانس جمع آوری GC در نسل دوم آن و یا همان Gen 2.
  • به JITter توجه کنید.

C# 10 Performance Playbook SnapShot

کدهای دات نت به جای کامپایل شدن به کد بومی و یا native code به کد MSIL کامپایل می شوند. این همان ترفندی است که توسط Java JVM نیز مورد استفاده قرار می گیرد که به برنامه های جاوا اجازه می دهد در همه جا اجرا شود. این روال با با کامپایل به موقع و یا just-in-time compilation که به بیان کوتاه به آن JIT می گویند اتفاق می افتد. اولین باری که یک متد فراخوانی می شود، کامپایلر JIT، کد MSIL را به کد بومی تبدیل می کند. این روال بسیار سریع است، اما همچنان می تواند باعث مشکلات عملکرد، به خصوص در هنگام راه اندازی و یا startup شود. معمولاً عملکرد JIT مشکلی ایجاد نمی کند و نیازی به بهینه سازی چیزی وجود ندارد. اما، در برخی موارد، ممکن است بخواهید JITter را با تغییرات کوچکی تنظیم کنید.

سرفصل مطالب آموزش ویدئویی آموزش ویدئویی بهبود پرفورمنس و کارایی برنامه های سی شارپ 10

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: بررسی کردن عملکرد کارایی و یا Performance

  • مقدمه
  • بهینه سازی کردن برای برنامه نویسان
  • بررسی Premature Optimization و یا بهینه سازی زودرس و مبحث Goldplating
  • معرفی کردن BenchmarkDotNet
  • آموزش عملی: استفاده کردن از BenchmarkDotNet
  • جمع بندی

فصل سوم: بهینه سازی کردن کدهای سی شارپ به صورت خط ب خط – قسمت اول

  • مقدمه
  • آموزش عملی: ایجاد کردن String ها به صورت کارامد
  • آموزش عملی: تجزیه کردن String ها
  • آموزش عملی: مقایسه کردن رشته ها
  • آموزش عملی: کار کردن با حلقه های تکرار For و Foreach
  • آموزش عملی: کار کردن با کلاس ها و Struct ها و Record ها

فصل چهارم: بهینه سازی کردن کدهای سی شارپ به صورت خط ب خط – قسمت دوم

  • آموزش عملی: انتساب مستقیم و یا Direct Assignment
  • آموزش عملی: مجوز ها و یا Permission ها و Exception ها
  • آموزش عملی: کار کردن با Unit Test های مربوط به Performance
  • آموزش عملی: انتخاب کردن Data Type های مناسب
  • آموزش عملی: نوع داده ای Date
  • جمع بندی

فصل پنجم: بررسی عملکرد برنامه برای بهبود Performance

  • مقدمه
  • بررسی کد Intermediate Language
  • آموزش عملی: کار کردن با IL
  • بررسی دیتابیس ها و Indexing
  • آموزش عملی: کار با کوئری ها در SQL Server
  • آموزش عملی: ابزارهای پروفایل
  • کار کردن با LINQ
  • تفاوت Debug و Release
  • جمع بندی

فصل ششم: ایجاد معماری صحیح برای افزایش سرعت

  • مقدمه
  • مبحث Time-shifting
  • بررسی Planetary Scale Architecture
  • جمع بندی دوره آموزشی
دسته های محصولات

افزودن به سبد خرید