اطلاعات خودی در مورد کلاس نتایج جدید در معیار

دنیای معیار عملکرد همیشه در حال تحول است و به روزرسانی های اخیر در Sql
مخزن توسط Ukrguru جدید جدیدی را معرفی کرده است Results
کلاس در BenchResults
فضای نام این مقاله به جزئیات این پیاده سازی جدید ، مقایسه آن با سلف خود و نشان دادن پیشرفت های عملکردی که در جدول می بخشد ، می پردازد. بیایید بر اساس آخرین بینش های پرونده Program.cs در مجموعه معیار ، آنچه را که در زیر کاپوت قرار دارد ، کشف کنیم.
تنظیم معیار
معیارها با استفاده از آن اجرا شدند BenchmarkDotnet v0.14.0 در سیستم زیر:
- پیش روی: ویندوز 11 (10.0.26100.3194)
- CPU: دوازدهم ژنرال Intel Core i7-12700K (1 پردازنده ، 20 هسته منطقی و 12 فیزیکی)
- .NET SDK: 9.0.200
- زمان اجرا: .net 9.0.2 (9.0.225.6610) ، x64 Ryujit AVX2 [AttachedDebugger]
- کار: Shortrun (iterationCount = 3 ، LaunchCount = 1 ، WarmupCount = 3)
این تنظیم یک محیط مدرن و با کارایی بالا را برای آزمایش جدید تضمین می کند Results
کلاس در برابر بزرگتر ParseOld
اجرای
نتایج: قدیمی در مقابل جدید
معیار دو روش را مقایسه می کند: ParseOld_40_results
(رویکرد میراث) و ResultsNew_40_results
(اجرای جدید). در اینجا نحوه جمع آوری آنها آورده شده است:
روش | میانگین | خطا | stddev | gen0 | تخصیص یافته |
---|---|---|---|---|---|
parseold_40_results | 2.056 میکرون | 0.1926 میکرومتر | 0.0106 میکرومتر | 0.1450 | 1.86 کیلوبایت |
نتایج new_40_results | 1.056 میکرومتر | 0.0520 میکرومتر | 0.0028 میکرومتر | 0.0973 | 1.25 کیلوبایت |
غذای اصلی
-
تقویت عملکرد:
جدید
ResultsNew_40_results
ساعت روش در میانگین زمان اجرای 1.056 میکرو ثانیه، یک پیشرفت چشمگیر نسبت به افراد مسنParseOld_40_results
روش 2.056 میکرو ثانیهبشر این تقریباً یک است 50 ٪ کاهش در زمان اعدام! -
ثبات:
اجرای جدید تنوع قابل توجهی پایین تر نشان می دهد ، با یک خطای 0.0520 میکرومتر و انحراف استاندارد از 0.0028 میکرومتر، در مقایسه با 0.1926 میکرومتر وت 0.0106 میکرومتر برای روش قدیمی این نشان می دهد که کلاس جدید نه تنها سریعتر بلکه سازگارتر است.
-
کارایی حافظه:
استفاده از حافظه نیز پیشرفت قابل توجهی را مشاهده می کند. در
ResultsNew_40_results
روش فقط اختصاص می دهد 1.25 کیلوبایت با نرخ جمع آوری Gen0 0.0973، پایین از 1.86 کیلوبایت وت 0.1450 در روش قدیمی این کاهش ردپای حافظه می تواند یک تغییر دهنده بازی برای برنامه های در مقیاس بزرگ باشد.
چه چیزی باعث پیشرفت می شود؟
در حالی که جزئیات اجرای دقیق Results
کلاس به طور کامل در پرونده معیار قرار نمی گیرد ، شماره ها به برخی از بهینه سازی های هوشمندانه اشاره می کنند. نامزدهای احتمالی عبارتند از:
- منطق تجزیه بهینه شده: کلاس جدید ممکن است از یک الگوریتم کارآمدتر برای رسیدگی به 40 نتیجه استفاده کند و باعث کاهش سربار محاسباتی شود.
- کاهش بالای شیء: افت تخصیص حافظه نشانگر کمتر اشیاء موقت یا ساختار داده ساده تر است.
- استفاده بهتر از ویژگی های .NET 9: در حال اجرا در .NET 9.0.2 با Ryujit AVX2 ، کلاس جدید ممکن است از پیشرفت های مدرن اجرا برای عملکرد بهتر استفاده کند.
برای شیرجه عمیق تر به کد ، پرونده منبع را مستقیماً بررسی کنید.
چرا مهم است
برای توسعه دهندگان کار با Sql
کتابخانه ، این به روزرسانی می تواند به معنای پردازش سریعتر پرس و جو و کاهش مصرف منابع باشد-برای برنامه های کاربردی با کارایی بالا. این که آیا شما در حال ایجاد یک سرویس فشرده داده یا بهینه سازی یک سیستم موجود هستید ، جدید Results
کلاس یک دلیل قانع کننده برای به روزرسانی ارائه می دهد.
پایان
معرفی Results
کلاس در Ukrguru Sql
مخزن نشان دهنده جهشی قابل توجه در عملکرد و کارآیی است. با کاهش نزدیک به 50 ٪ در زمان اجرای ، بهبود ثبات و یک ردپای حافظه سبک تر ، مشخص است که این فقط یک ترفند جزئی نیست – این یک تصور مجدد از نحوه دستیابی به نتایج است. به این پروژه توجه داشته باشید زیرا همچنان به تکامل خود ادامه می دهد و ادغام این پیشرفت ها در گردش کار خود را در نظر بگیرید.