در این پست از وبسایت پرووید، در رابطه با ده تکنیک افزایش سرعت اجرای برنامه #3 صحبت خواهیم کرد. به ادامه ی مطلب بروید.

تکنیک سوم: به استفاده از Value Type ها

استفاده از Value Type ها به مراتب سرعت بیشتری از Reference Type ها دارد. به عبارت دیگر، هر گاه که ممکن است باید از struct ها به جای class استفاده کرد. این موضوع باعث می شود که زمان سربار عملیات boxing و unboxing از بین برود. در بسته ی آموزش برنامه نویسی شی گرا در سی شارپ بیشتر در این رابطه فرا می گیرید. به مثال زیر توجه کنید:

class Program
{
public struct foo
{
public foo(double arg) { this.y = arg; }
public double y;
}
public class bar
{
public bar(double arg) { this.y = arg; }
public double y;
}
private static void Main(string[] args)
{
System.Console.WriteLine("starting struct loop...");
for (int i = 0; i < 50000000; i++)
{
foo test = new foo(3.14);
}
System.Console.WriteLine("struct loop complete. starting object loop...");
for (int i = 0; i < 50000000; i++)
{
bar test2 = new bar(3.14);
}
System.Console.WriteLine("All done");
}
}

اگر مثال بالا را اجرا کنید خواهید دید که سرعت اجرای struct به مراتب بیشتر است. یک نکته ی بسیار مهم در کد بالا این است که اگر با value type ها شبیه object ها رفتار کنید، دچار عملیات boxing و unboxing می شوید که این خود سرعت اجرای برنامه را شدیداً کاهش می دهد. برای تست این موضوع در کد بالا، از آرایه ها استفاده کنید. در این صورت خواهید دید که سرعت اجرای هر دو روش تقریباً یک اندازه است.

بسته ی آموزش ویدئویی شی گرایی در سی شارپ

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی شی گرایی در سی شارپ دیدن کنید.

دقت کنید که value type ها نسبت بهreference type ها به مراتب انعطاف پذیری کمتری دارند و استفاده ی نادرست از آنها سرعت اجرای برنامه را به شدت کاهش می دهد. برای مثال، اگر در کد بالا از hashtable و یا آرایه استفاده کنید، خواهید دید که سرعت اجرا به شدت کاهش می یابد. دلیل این موضوع ایجاد تنها یک عمل boxing و unboxing است.

پس به عنوان تکنیک سوم از سری تکنیک های افزایش سرعت اجرای برنامه در دات نت، سعی کنید از value type ها در شرایطی که به قابلیت های reference type ها نیازی ندارید استفاده کنید.

از شما دعوت می کنیم که از دیگر قسمت های این آموزش نیز دیدن کنید. لیست کامل این سری آموزشی را می توانید از مطلب مربوط به آموزش ده تکنیک افزایش سرعت اجرای برنامه های دات نت مشاهده کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *