بهترین روشهای بهینهسازی Performance در C#
اگر پروژههای C# شما کند اجرا میشوند یا مصرف حافظه زیادی دارند، وقت آن رسیده که بهینهسازی کنید. در این پست، چند تکنیک پیشرفته برای افزایش کارایی کدهای C# را بررسی میکنیم.
🔹 استفاده از Span بهجای Array و List
✅ Span به شما اجازه میدهد که بدون کپی کردن دادهها، روی حافظه کار کنید.
✅ مناسب برای پردازش سریع دادههای بافر، آرایهها و رشتهها است.
Span<int> numbers = stackalloc int[3] { 1, 2, 3 }; numbers[0] = 10; Console.WriteLine(numbers[0]); // 10
🔺 کاهش تخصیصهای غیرضروری حافظه
✅ از StringBuilder بهجای string + string در حلقهها استفاده کنید:
StringBuilder sb = new StringBuilder(); for (int i = 0; i < 1000; i++) { sb.Append("Hello "); } string result = sb.ToString();
✅ بهجای LINQ سنگین، از Span و foreach استفاده کنید تا از ایجاد Garbage Collector Pressure جلوگیری شود.
🔹 استفاده از ValueTask بهجای Task در متدهای async سبک
✅ Task همیشه یک آبجکت جدید در Heap ایجاد میکند، اما ValueTask در صورت امکان از استخر استفاده میکند.
public async ValueTask<int> GetDataAsync() { return await Task.FromResult(42); }
📌 برای متدهایی که ۹۰٪ مواقع مقدار آماده برمیگردانند، ValueTask عملکرد بهتری دارد.
🔹 فعال کردن Struct Layout Optimization
✅ Structها را بهینهسازی کنید تا از حافظه بهتری استفاده کنند.
[StructLayout(LayoutKind.Auto)] struct MyStruct { public int A; public double B; public byte C; }
✅ ترتیب فیلدها را طوری قرار دهید که Padding Memory هدر نرود.
🚀 نتیجهگیری
با این تکنیکها، میتوانید برنامههای C# را سریعتر و کارآمدتر اجرا کنید، بدون اینکه منابع اضافی مصرف شود. Performance مهم است، از آن غافل نشوید!
600 ·