{"id":501920,"date":"2026-11-06T11:44:20","date_gmt":"2026-11-06T08:44:20","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=501920"},"modified":"2026-11-06T11:44:20","modified_gmt":"2026-11-06T08:44:20","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=501920","title":{"rendered":"\u0421\u0442\u0430\u043b \u043b\u0438 \u043a\u043e\u0434 Microsoft \u0445\u0443\u0436\u0435 \u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u043e\u043c \u0418\u0418: \u0437\u0430\u043c\u0435\u0440\u044b .NET-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u043e\u0442 6.0 \u0434\u043e 11 RC"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/35\/dd\/ec\/35ddec9e56b44ab9e107e8a80bc40a57.png\" alt=\"\u041b\u0438\u043d\u0438\u0438 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0442 .NET 7.0 \u0434\u043e 11 RC: \u0441\u0438\u043d\u0438\u0435 \u0443\u0445\u043e\u0434\u044f\u0442 \u0432\u043d\u0438\u0437, \u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u0432\u0432\u0435\u0440\u0445, IOptionsSnapshot \u0438 \u0431\u0438\u043d\u0434\u0438\u043d\u0433 POCO \u0440\u0435\u0437\u043a\u043e \u0432\u0437\u043b\u0435\u0442\u0430\u044e\u0442 \u043d\u0430 11 RC\" width=\"1716\" height=\"968\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/35\/dd\/ec\/35ddec9e56b44ab9e107e8a80bc40a57.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/35\/dd\/ec\/35ddec9e56b44ab9e107e8a80bc40a57.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041b\u0438\u043d\u0438\u0438 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0442 .NET 7.0 \u0434\u043e 11 RC: \u0441\u0438\u043d\u0438\u0435 \u0443\u0445\u043e\u0434\u044f\u0442 \u0432\u043d\u0438\u0437, \u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u0432\u0432\u0435\u0440\u0445, IOptionsSnapshot \u0438 \u0431\u0438\u043d\u0434\u0438\u043d\u0433 POCO \u0440\u0435\u0437\u043a\u043e \u0432\u0437\u043b\u0435\u0442\u0430\u044e\u0442 \u043d\u0430 11 RC<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u043d\u043e\u044f\u0431\u0440\u0435 2022 \u0433\u043e\u0434\u0430 \u0441 \u0440\u0430\u0437\u043d\u0438\u0446\u0435\u0439 \u0432 \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u0432\u044b\u0448\u043b\u0438 .NET 7 \u0438 ChatGPT. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043e\u0442\u0441\u0447\u0451\u0442\u0430: .NET 7 \u0441\u0442\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0434\u043e ChatGPT. \u0410 \u0432 \u043c\u0430\u0435 2025 \u0433\u043e\u0434\u0430 \u0432 dotnet\/runtime \u043f\u0440\u0438\u0448\u0451\u043b Copilot coding agent \u0438 \u043a \u043a\u043e\u043d\u0446\u0443 \u043e\u043a\u0442\u044f\u0431\u0440\u044f 2026-\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u043b \u0442\u0430\u043c 1734 pull request\u2019\u0430, 1207 \u0438\u0437 \u043d\u0438\u0445 \u0441\u043c\u0435\u0440\u0436\u0435\u043d\u044b.<\/p>\n<p>d\u041f\u043e\u0440\u0442\u0438\u0442 \u043b\u0438 \u0418\u0418 \u043a\u043e\u0434, \u0441\u043f\u043e\u0440\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u043b\u0433\u043e, \u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c. \u042f \u0437\u0430\u043c\u0435\u0440\u0438\u043b <abbr class=\"habraabbr\" title=\"Dependency Injection, \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439\" data-title=\"&lt;p&gt;Dependency Injection, \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439&lt;\/p&gt;\" data-abbr=\"DI\">DI<\/abbr>, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e, \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u044d\u0448 \u0438 <abbr class=\"habraabbr\" title=\"Entity Framework\" data-title=\"&lt;p&gt;Entity Framework&lt;\/p&gt;\" data-abbr=\"EF\">EF<\/abbr> Core: 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0448\u0435\u0441\u0442\u044c \u043c\u0430\u0436\u043e\u0440\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, 30 \u0440\u0430\u0443\u043d\u0434\u043e\u0432. \u0417\u0430\u043e\u0434\u043d\u043e \u043f\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438 Git \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b, \u043a\u0442\u043e \u0442\u0440\u043e\u0433\u0430\u043b \u0433\u043e\u0440\u044f\u0447\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u0430 \u0434\u0432\u0435 \u043f\u0440\u043e\u0441\u0430\u0434\u043a\u0438 \u0432 11 RC \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u043b \u0434\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432. \u0421\u0430\u043c\u0443\u044e \u043a\u0440\u0443\u043f\u043d\u0443\u044e \u0432\u043d\u0451\u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439. \u0412\u0442\u043e\u0440\u0430\u044f, \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435, \u043f\u0440\u0438\u0448\u043b\u0430 \u0441 PR \u043e\u0442 Copilot coding agent, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0438\u043d\u0438\u043b \u0434\u0435\u0434\u043b\u043e\u043a.<\/p>\n<h3>\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0437\u0430\u043c\u0435\u0440\u044b<\/h3>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/1a\/ec\/f4\/1aecf401e6822d1bb5d2acca719300bb.png\" alt=\"\u0428\u043a\u0430\u043b\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438: 6.0 \u0438 7.0 \u0434\u043e ChatGPT, 8.0 \u0438 9.0 \u0432 \u044d\u043f\u043e\u0445\u0443 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u0432, 10.0 \u0438 11 RC3 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e PR \u0430\u0433\u0435\u043d\u0442\u0430\" width=\"1540\" height=\"627\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/1a\/ec\/f4\/1aecf401e6822d1bb5d2acca719300bb.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/1a\/ec\/f4\/1aecf401e6822d1bb5d2acca719300bb.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0428\u043a\u0430\u043b\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438: 6.0 \u0438 7.0 \u0434\u043e ChatGPT, 8.0 \u0438 9.0 \u0432 \u044d\u043f\u043e\u0445\u0443 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u0432, 10.0 \u0438 11 RC3 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e PR \u0430\u0433\u0435\u043d\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u043e\u0432\u044b\u0439 .NET \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0435\u0449\u0451 \u0438 \u0437\u0430 \u0441\u0447\u0451\u0442 <abbr class=\"habraabbr\" title=\"Just-In-Time, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\" data-title=\"&lt;p&gt;Just-In-Time, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440&lt;\/p&gt;\" data-abbr=\"JIT\">JIT<\/abbr> \u0438 <abbr class=\"habraabbr\" title=\"Garbage Collector, \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430\" data-title=\"&lt;p&gt;Garbage Collector, \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430&lt;\/p&gt;\" data-abbr=\"GC\">GC<\/abbr>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0440\u0435\u043a \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u043d\u0430 .NET 10.0.11 \u0438 \u043c\u0435\u043d\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e NuGet-\u043f\u0430\u043a\u0435\u0442\u044b: <code>Microsoft.Extensions.*<\/code> \u0441 6-\u0439 \u043f\u043e 11-\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0438 EF Core \u0441 6-\u0439 \u043f\u043e 10-\u044e (EF Core 11 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 net11.0, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445 \u0435\u0433\u043e \u043b\u0438\u043d\u0438\u0438 \u043e\u0431\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 10.0). \u0415\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0430\u0441\u044c \u0441\u0431\u043e\u0440\u043a\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u0430\u0436\u043e\u0440\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043f\u0440\u043e\u0433\u043e\u043d \u043f\u0430\u0434\u0430\u0435\u0442. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 \u0432 \u0441\u0430\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a (System.Text.Json, Channels, <a href=\"http:\/\/ASP.NET\" rel=\"noopener nofollow\">ASP.NET<\/a> Core), \u0442\u0430\u043a \u043d\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c: \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435. \u0418\u0445, \u043a\u0430\u043a \u0438 EF Core 11, \u044f \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, net10.0 \u043f\u0440\u043e\u0442\u0438\u0432 net11.0, \u0438 \u0442\u0430\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f.<\/p>\n<p>\u0412\u043e\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0437\u0430\u043c\u0435\u0440\u043e\u0432, <code>IOptionsSnapshot<\/code> \u0432 \u043d\u043e\u0432\u043e\u043c scope:<\/p>\n<pre><code class=\"cs\">recorder.Measure(OptionsScopes.Snapshot, 1000, () =&gt;{    for (var i = 0; i &lt; 1000; i++)    {        using var scope = provider.CreateScope();        Sink.Keep(scope.ServiceProvider.GetRequiredService&lt;IOptionsSnapshot&lt;Poco50&gt;&gt;().Value);    }});<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u0440\u0435\u043c\u044f \u043f\u0438\u0448\u0435\u0442 <a href=\"https:\/\/github.com\/Echways\/EmberTrace\" rel=\"noopener nofollow\">EmberTrace<\/a>, \u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u0442 <code>GC.GetAllocatedBytesForCurrentThread<\/code>. \u041d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f 20 \u043f\u0440\u043e\u0433\u0440\u0435\u0432\u043e\u0447\u043d\u044b\u0445 \u0438 200 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u044f\u0434\u0440\u0430\u043c 2\u20135. \u0412\u0441\u0435\u0433\u043e 30 \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u0438 111 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u0430\u0440\u0443 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0435\u0440\u0441\u0438\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0440\u0430\u0443\u043d\u0434\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u043d.<\/p>\n<p>\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u2014 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0432\u0441\u0435 \u0440\u0430\u0443\u043d\u0434\u044b \u0432\u0435\u0441\u044f\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0430\u0443\u043d\u0434\u0430 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e 7.0, \u0434\u043e\u0432\u0435\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0434\u0430\u0451\u0442 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u0443\u0442\u0441\u0442\u0440\u044d\u043f, \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u2014 U-\u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0439 \u041c\u0430\u043d\u043d\u0430 \u2014 \u0423\u0438\u0442\u043d\u0438 \u0441 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0411\u0435\u043d\u0434\u0436\u0430\u043c\u0438\u043d\u0438 \u2014 \u0425\u043e\u0445\u0431\u0435\u0440\u0433\u0430. \u00ab\u0411\u044b\u0441\u0442\u0440\u0435\u0435\u00bb \u0438\u043b\u0438 \u00ab\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435\u00bb \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u0435\u0441\u044c 95-\u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043b\u0435\u0436\u0438\u0442 \u0437\u0430 \u043f\u043e\u0440\u043e\u0433\u043e\u043c \u0432 5%, \u043d\u0438 \u043e\u0434\u0438\u043d \u0440\u0430\u0443\u043d\u0434 \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438 \u0441\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 p \u043c\u0435\u043d\u044c\u0448\u0435 0,05. \u0415\u0441\u043b\u0438 \u0432\u0435\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043b\u0435\u0436\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u00b15%, \u044d\u0442\u043e \u0448\u0443\u043c, \u0430 \u0432\u0441\u0451 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0431\u0435\u0437 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430.<\/p>\n<p>\u0420\u0430\u0443\u043d\u0434\u044b \u0448\u043b\u0438 \u0432 \u0434\u0432\u0443\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 (Core i5-12450H, Ubuntu 22.04). \u00ab\u0421\u0442\u0435\u043d\u0434\u00bb \u2014 \u044d\u0442\u043e governor <code>performance<\/code> \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 \u0442\u0443\u0440\u0431\u043e\u0431\u0443\u0441\u0442, 19 \u0440\u0430\u0443\u043d\u0434\u043e\u0432. \u00ab\u0417\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u00bb \u2014 <code>powersave<\/code> \u0441 \u0442\u0443\u0440\u0431\u043e\u0431\u0443\u0441\u0442\u043e\u043c, 11 \u0440\u0430\u0443\u043d\u0434\u043e\u0432. \u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e, \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u043d\u0438\u0436\u0435. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043d\u043e\u0435, \u0446\u0438\u0444\u0440\u044b \u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u0441\u0442\u0435\u043d\u0434\u0443.<\/p>\n<h3>\u041f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u0439 \u043a\u043e\u0434 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0441\u044f, \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u043b\u0441\u044f<\/h3>\n<p>\u0414\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0438 10.0 \u043f\u0440\u043e\u0442\u0438\u0432 7.0 \u0438\u0442\u043e\u0433 \u043f\u043e 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c \u0442\u0430\u043a\u043e\u0439: 9 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, 13 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, 10 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0448\u0443\u043c\u0430, \u043f\u043e 14 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430 \u043d\u0435\u0442. \u041d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0441 \u043e\u0431\u0435\u0438\u0445 \u0441\u0442\u043e\u0440\u043e\u043d: \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a 10.0 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u043d\u0430 14\u201335%, \u0430 \u043f\u0435\u0440\u0432\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u043b\u0438\u0441\u044c \u043d\u0430 39\u201364%.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/00\/e5\/eb\/00e5ebc6fcd58a405e415f810335f0ad.png\" alt=\"\u0412\u043e\u0441\u0435\u043c\u044c \u043b\u0438\u043d\u0438\u0439 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 7.0: \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 10.0 \u0443\u0445\u043e\u0434\u044f\u0442 \u0432\u043d\u0438\u0437 \u043d\u0430 14\u201335 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u0442\u0443\u0442 \u043d\u0430 39\u201364 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\" width=\"1540\" height=\"1078\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/00\/e5\/eb\/00e5ebc6fcd58a405e415f810335f0ad.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/00\/e5\/eb\/00e5ebc6fcd58a405e415f810335f0ad.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0412\u043e\u0441\u0435\u043c\u044c \u043b\u0438\u043d\u0438\u0439 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 7.0: \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 10.0 \u0443\u0445\u043e\u0434\u044f\u0442 \u0432\u043d\u0438\u0437 \u043d\u0430 14\u201335 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u0442\u0443\u0442 \u043d\u0430 39\u201364 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u0435\u0435. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043d\u044f\u0442\u044b \u043d\u0430 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 2 \u0413\u0413\u0446, \u0442\u0430\u043a \u0447\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0435\u043b\u0438\u0447\u0438\u043d:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">7.0<\/p>\n<\/th>\n<th>\n<p align=\"left\">10.0<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>LoggerMessage.Define<\/code>, \u043e\u0434\u0438\u043d \u0432\u044b\u0437\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">377 \u043d\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">244 \u043d\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>MemoryCache.TryGetValue<\/code>, \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">111 \u043d\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">96 \u043d\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">EF <code>DetectChanges<\/code>, 10 \u0442\u044b\u0441. \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">6,1 \u043c\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">4,3 \u043c\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">DI, \u043f\u0435\u0440\u0432\u044b\u0439 resolve \u0433\u0440\u0430\u0444\u0430 \u0433\u043b\u0443\u0431\u0438\u043d\u043e\u0439 5<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,3 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">5,2 \u043c\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0441 <code>ValidateOnBuild<\/code>, 100 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">40 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">66 \u043c\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041d\u043e\u0432\u044b\u0439 <code>LoggerFactory<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">23 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">34 \u043c\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041d\u043e\u0432\u044b\u0439 <code>DbContext<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">37 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">51 \u043c\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">EF, \u0441\u0430\u043c\u044b\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">996 \u043c\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">1162 \u043c\u0441<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0414\u043b\u044f \u0434\u043e\u043b\u0433\u043e\u0436\u0438\u0432\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u043d \u0432\u044b\u0433\u043e\u0434\u0435\u043d: \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0440\u0430\u0437, \u0430 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u041a\u043e\u0440\u043e\u0442\u043a\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c \u043f\u043e\u0432\u0435\u0437\u043b\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0441 EF: \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b \u043d\u0430 166 \u043c\u0441, \u0438 \u044d\u0442\u043e \u0443\u0436\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u0430\u044f \u043f\u0440\u0438\u0431\u0430\u0432\u043a\u0430 \u043a \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u043c\u0443 \u0441\u0442\u0430\u0440\u0442\u0443. \u041f\u0440\u0430\u0432\u0434\u0430, \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0435 \u0437\u0430\u043c\u0435\u0440\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 JIT, \u0430 \u0441\u0442\u0430\u0440\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435, \u0442\u0430\u043a \u0447\u0442\u043e \u0443 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0448\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445.<\/p>\n<p>\u041e\u0431\u0435 \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u0438 \u0432\u0438\u0434\u043d\u044b \u0438 \u043d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445, \u043d\u043e \u0442\u0430\u043c \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u043c\u0435\u043d\u044c\u0448\u0435, \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0431\u0435\u0437 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430. \u0423\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e <code>LoggerFactory<\/code>: +49%.<\/p>\n<h3>\u0411\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u0432 8.0<\/h3>\n<p>\u0412 \u0441\u043f\u043e\u0440\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0432\u0443\u0447\u0438\u0442 \u00ab\u0434\u043e \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0431\u044b\u043b\u043e \u043b\u0443\u0447\u0448\u0435\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0448\u0430\u0433\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u043c\u0438 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/1f\/15\/d2\/1f15d272bf20b1290746a7283ac08825.png\" alt=\"\u0427\u0435\u0442\u044b\u0440\u0435 \u0440\u044f\u0434\u0430 \u0442\u043e\u0447\u0435\u043a \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u043c\u0435\u0436\u0434\u0443 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438: \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e 19 \u0441\u0434\u0432\u0438\u0433\u043e\u0432 \u0438\u0437 46 \u043d\u0430 7.0\u21928.0, 5 \u043d\u0430 8.0\u21929.0, 5 \u043d\u0430 9.0\u219210.0 \u0438 6 \u0438\u0437 38 \u043d\u0430 10.0\u219211 RC\" width=\"1540\" height=\"1045\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/1f\/15\/d2\/1f15d272bf20b1290746a7283ac08825.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/1f\/15\/d2\/1f15d272bf20b1290746a7283ac08825.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0427\u0435\u0442\u044b\u0440\u0435 \u0440\u044f\u0434\u0430 \u0442\u043e\u0447\u0435\u043a \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u043c\u0435\u0436\u0434\u0443 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438: \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e 19 \u0441\u0434\u0432\u0438\u0433\u043e\u0432 \u0438\u0437 46 \u043d\u0430 7.0\u21928.0, 5 \u043d\u0430 8.0\u21929.0, 5 \u043d\u0430 9.0\u219210.0 \u0438 6 \u0438\u0437 38 \u043d\u0430 10.0\u219211 RC<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430 \u0437\u0434\u0435\u0441\u044c \u0442\u0435 \u0436\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437\u043e\u0439 \u0441\u043b\u0443\u0436\u0438\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0440\u0435\u043b\u0438\u0437: \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f 19 \u0441\u0434\u0432\u0438\u0433\u043e\u0432 \u0438\u0437 46 \u043d\u0430 \u0448\u0430\u0433\u0435 \u043a 8.0, \u043f\u043e 5 \u043d\u0430 \u0448\u0430\u0433\u0430\u0445 \u043a 9.0 \u0438 10.0 \u0438 6 \u0438\u0437 38 \u043d\u0430 \u0448\u0430\u0433\u0435 \u043a 11 RC. \u0428\u0430\u0433 \u043a 10.0 \u043d\u0430 \u0444\u043e\u043d\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f, \u043f\u0440\u0430\u0432\u0434\u0430, \u0430\u0433\u0435\u043d\u0442 \u0437\u0430\u0441\u0442\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>\u041d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 8.0 \u0442\u0430\u043a \u043d\u0435 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f (8, 7, 5 \u0438 6): \u0442\u0430\u043c \u0432\u0441\u0435\u0433\u043e 11 \u0440\u0430\u0443\u043d\u0434\u043e\u0432, \u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \u0432 \u0440\u0430\u0437\u044b \u0448\u0438\u0440\u0435. \u0417\u0430\u0442\u043e \u0448\u0430\u0433 \u043a 11 RC \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442. \u0412 \u043e\u0431\u043e\u0438\u0445 \u0440\u0435\u0436\u0438\u043c\u0430\u0445 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e \u043f\u043e 6 \u0441\u0434\u0432\u0438\u0433\u043e\u0432, \u0438 5 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0438\u0437 6 \u043e\u0431\u0449\u0438\u0435.<\/p>\n<p>\u041a \u0441\u0430\u043c\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 8.0 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u0440\u0430\u0436\u0435\u043d\u0438\u0435. \u041a\u0430\u0436\u0434\u0430\u044f \u043c\u0430\u0436\u043e\u0440\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 \u0441\u0432\u043e\u044e \u0441\u0431\u043e\u0440\u043a\u0443: <code>lib\/net7.0<\/code> \u0443 7.x, <code>lib\/net8.0<\/code> \u0443 8.x, \u0445\u043e\u0442\u044f \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0432\u0435\u0437\u0434\u0435 .NET 10. \u0417\u043d\u0430\u0447\u0438\u0442, \u0432 \u0448\u0430\u0433 \u0432\u0445\u043e\u0434\u044f\u0442 \u0438 \u0432\u0435\u0442\u043a\u0438 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0430\u0440\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0435 \u0432\u0438\u0434\u0438\u0442 \u0434\u0430\u0436\u0435 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435. \u042d\u0442\u043e \u0442\u043e\u0436\u0435 \u043a\u043e\u0434 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u0441\u043c\u0435\u043d\u0443 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u0442\u0430\u043a\u043e\u0439 \u0434\u0438\u0437\u0430\u0439\u043d \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442.<\/p>\n<p>\u041d\u0430 \u0448\u0430\u0433\u0435 \u043a 10.0 \u0432\u044b\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0440\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. <code>new DbContext<\/code> \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b \u043d\u0430 13%, <code>Compact<\/code> \u0432 \u043a\u044d\u0448\u0435 \u043f\u043e\u0434\u0435\u0448\u0435\u0432\u0435\u043b \u043d\u0430 13%, \u0430 <code>DetectChanges<\/code> \u0441\u0442\u0430\u043b \u043d\u0430 19% \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u0432 9.0, \u0438 \u043e\u0442\u0434\u0430\u043b \u0447\u0430\u0441\u0442\u044c \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430: \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e 7.0 \u0431\u044b\u043b\u043e \u221241%, \u0441\u0442\u0430\u043b\u043e \u221230%.<\/p>\n<p>\u0422\u043e, \u0447\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0441\u0434\u0432\u0438\u0433 \u0441\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u043e\u0441\u043b\u0435 ChatGPT, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e\u0431 \u0443\u0447\u0430\u0441\u0442\u0438\u0438 \u0418\u0418: \u0437\u0430\u043c\u0435\u0440\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u0447\u0442\u043e \u0438 \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c, \u043d\u043e \u043d\u0435 \u043f\u043e\u0447\u0435\u043c\u0443.<\/p>\n<h3>\u0410\u0433\u0435\u043d\u0442: \u0434\u043e 10.0 \u0432 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430\u0445 DI \u0438 \u043a\u044d\u0448\u0430 \u0435\u0433\u043e \u043d\u0435\u0442, \u0432 11.0 \u043e\u043d \u0442\u0430\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f<\/h3>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 DI \u0438 <code>Caching.Memory<\/code> \u043c\u0435\u0436\u0434\u0443 \u0442\u0435\u0433\u0430\u043c\u0438 <code>v7.0.20<\/code> \u0438 <code>v10.0.14<\/code> \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0441 \u0435\u0433\u043e pull request\u2019\u043e\u043c. \u0410\u0433\u0435\u043d\u0442\u0430 \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c: PR \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 GitHub-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 <code>copilot-swe-agent<\/code> \u0441 id 198982749, \u0430 \u0432 squash-\u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0442\u0440\u0435\u0439\u043b\u0435\u0440 <code>Co-authored-by<\/code>. \u041d\u0430\u0448\u043b\u043e\u0441\u044c \u0432\u043e\u0442 \u0447\u0442\u043e:<\/p>\n<ul>\n<li>\n<p>113 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432: 57 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0443\u0441\u043b\u043e\u0432\u043d\u043e Microsoft, 56 \u043e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u043e\u0442 \u0430\u0433\u0435\u043d\u0442\u0430 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e, \u0441\u043e\u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0445 \u0441 \u0430\u0433\u0435\u043d\u0442\u043e\u043c \u0442\u043e\u0436\u0435 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e;<\/p>\n<\/li>\n<li>\n<p>24 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430, \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0435\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 <code>git log -L<\/code>: 39 \u043f\u0440\u0430\u0432\u043e\u043a, \u0430\u0433\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0441\u0440\u0435\u0434\u0438 \u043d\u0438\u0445 \u043d\u0435\u0442, \u0430 8 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u0442\u0435\u0433\u0430\u043c\u0438 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0432\u043e\u043e\u0431\u0449\u0435;<\/p>\n<\/li>\n<li>\n<p>6 PR \u0441 \u043c\u0435\u0442\u043a\u043e\u0439 <code>tenet-performance<\/code>, \u0432\u0441\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043b\u044e\u0434\u044c\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u00ab\u043c\u0435\u0442\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u043e\u0433\u0430\u043b \u0430\u0433\u0435\u043d\u0442, \u043f\u0440\u043e\u0442\u0438\u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u043e\u0433\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u044e\u0434\u0438\u00bb \u043d\u0430 \u044d\u0442\u043e\u043c \u043e\u043a\u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c: \u043f\u0435\u0440\u0432\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043f\u0443\u0441\u0442\u0430. \u041d\u043e \u043e\u043a\u043d\u043e \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430 10.0, \u0430 \u043f\u043e\u043b\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0443 \u0430\u0433\u0435\u043d\u0442\u0430 \u0431\u044b\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 11.0. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0434\u043e\u0442\u044f\u043d\u0443\u043b \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u0434\u043e RC3 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u0417\u0434\u0435\u0441\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0432\u0442\u043e\u0440 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0432 Git, \u0431\u0435\u0437 \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0438 \u043d\u0430 Microsoft \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">7.0 \u2192 10.0, \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0438\u0437 \u043d\u0438\u0445 \u0430\u0433\u0435\u043d\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">10.0 \u2192 11 RC, \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0438\u0437 \u043d\u0438\u0445 \u0430\u0433\u0435\u043d\u0442<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">DI<\/p>\n<\/td>\n<td>\n<p align=\"left\">80<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\">21<\/p>\n<\/td>\n<td>\n<p align=\"left\">11<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u044d\u0448<\/p>\n<\/td>\n<td>\n<p align=\"left\">33<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\">14<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">67<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\">15<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Options<\/p>\n<\/td>\n<td>\n<p align=\"left\">37<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<td>\n<p align=\"left\">7<\/p>\n<\/td>\n<td>\n<p align=\"left\">0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">52<\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">8<\/p>\n<\/td>\n<td>\n<p align=\"left\">3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">EF Core<\/p>\n<\/td>\n<td>\n<p align=\"left\">867<\/p>\n<\/td>\n<td>\n<p align=\"left\">29<\/p>\n<\/td>\n<td>\n<p align=\"left\">256<\/p>\n<\/td>\n<td>\n<p align=\"left\">73<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0427\u0430\u0441\u0442\u044c \u0430\u0433\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 DI \u2014 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0438 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435: \u0438\u0437 11 \u043f\u0440\u0430\u0432\u043e\u043a \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 DI \u0438 \u043a\u044d\u0448\u0430 \u0432 \u043d\u043e\u0432\u043e\u043c \u043e\u043a\u043d\u0435 3 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u0430\u0433\u0435\u043d\u0442\u0443. \u0415\u0449\u0451 \u0432 5 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 Options \u0435\u0441\u0442\u044c \u0441\u043e\u0430\u0432\u0442\u043e\u0440 Copilot CLI.<\/p>\n<p>\u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0438 \u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0435:<\/p>\n<ul>\n<li>\n<p>\u041d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u0438\u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u043d\u0434\u0435\u0440 \u0438 DI, \u043f\u0440\u043e \u043d\u0438\u0445 \u043d\u0438\u0436\u0435. EF Core \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043d, \u0445\u043e\u0442\u044f \u043f\u0440\u0430\u0432\u043e\u043a \u0430\u0433\u0435\u043d\u0442\u0430 \u0442\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e, \u0430 \u043d\u0430 \u0448\u0430\u0433\u0435 \u043a 10.0 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0441\u0434\u0432\u0438\u043d\u0443\u043b\u0438\u0441\u044c \u0435\u0433\u043e <code>DbContext<\/code> \u0438 <code>DetectChanges<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043c\u0438\u0442 \u0430\u0433\u0435\u043d\u0442\u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u00abPR \u043e\u0442\u043a\u0440\u044b\u0442 \u0430\u0433\u0435\u043d\u0442\u043e\u043c\u00bb, \u0430 \u043d\u0435 \u00ab\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0431\u0435\u0437 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\u00bb: \u0442\u0430\u043a\u0438\u0435 PR \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0440\u0435\u0432\u044c\u044e \u0438 \u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043b\u044e\u0434\u044c\u043c\u0438. \u0410\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442 \u0432 IDE \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u043e\u0432 \u0432 Git, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u0431 \u044d\u043f\u043e\u0445\u0435 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0433\u0443\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0413\u0440\u0430\u043d\u0438\u0446\u0430 \u044d\u043f\u043e\u0445 \u0443\u0441\u043b\u043e\u0432\u043d\u0430. \u0410\u0432\u0442\u043e\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 Copilot \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0435\u0449\u0451 \u0432 2021 \u0433\u043e\u0434\u0443, \u0442\u0430\u043a \u0447\u0442\u043e \u0438 7.0 \u043c\u043e\u0433 \u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0431\u0435\u0437 \u0418\u0418.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Microsoft \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0433\u0440\u0443\u0431\u043e\u0435: \u043e\u043d\u043e \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u043b\u0435 <code>author_association<\/code>, \u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0441\u043e \u0441\u043a\u0440\u044b\u0442\u044b\u043c \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e\u043c \u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e. \u0412 24 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u0438\u0437 113 \u044d\u0442\u043e \u043f\u043e\u043b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441 \u043f\u043e\u0447\u0442\u043e\u0439 \u043d\u0430 <code>@<\/code><a href=\"http:\/\/microsoft.com\" rel=\"noopener nofollow\"><code>microsoft.com<\/code><\/a>.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0421\u0430\u043c\u0430\u044f \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u043f\u0440\u043e\u0441\u0430\u0434\u043a\u0430 \u0432 11 RC \u0441\u0438\u0434\u0438\u0442 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435<\/h3>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/1a\/f5\/b8\/1af5b8fba656fe61924b651058604a7d.png\" alt=\"\u0421\u0442\u043e\u043b\u0431\u0446\u044b \u0434\u043b\u044f \u043f\u044f\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439: \u0432 10.0 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0442 \u043c\u0438\u043d\u0443\u0441 3 \u0434\u043e \u043f\u043b\u044e\u0441 13 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0432 11 RC \u043e\u0442 \u043f\u043b\u044e\u0441 26 \u0434\u043e \u043f\u043b\u044e\u0441 162 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432\" width=\"1540\" height=\"825\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/1a\/f5\/b8\/1af5b8fba656fe61924b651058604a7d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/1a\/f5\/b8\/1af5b8fba656fe61924b651058604a7d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0442\u043e\u043b\u0431\u0446\u044b \u0434\u043b\u044f \u043f\u044f\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439: \u0432 10.0 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0442 \u043c\u0438\u043d\u0443\u0441 3 \u0434\u043e \u043f\u043b\u044e\u0441 13 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0432 11 RC \u043e\u0442 \u043f\u043b\u044e\u0441 26 \u0434\u043e \u043f\u043b\u044e\u0441 162 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e 7.0 \u0431\u0438\u043d\u0434\u0438\u043d\u0433 <abbr class=\"habraabbr\" title=\"Plain Old CLR Object, \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438\" data-title=\"&lt;p&gt;Plain Old CLR Object, \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438&lt;\/p&gt;\" data-abbr=\"POCO\">POCO<\/abbr> \u043d\u0430 50 \u043f\u043e\u043b\u0435\u0439 \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b \u0441 61 \u0434\u043e 145 \u043c\u043a\u0441, <code>IOptionsSnapshot<\/code> \u0432 \u043d\u043e\u0432\u043e\u043c scope \u2014 \u0441 52 \u0434\u043e 136 \u043c\u043a\u0441. \u0410\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0443 \u043e\u0431\u0435\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u043f\u043e\u0447\u0442\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 10 \u041a\u0411 \u043d\u0430 \u0432\u044b\u0437\u043e\u0432. \u041d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0442\u0430 \u0436\u0435: +134% \u0438 +158%.<\/p>\n<p>\u041f\u0440\u0438\u0431\u0430\u0432\u043a\u0430 \u0432 10 \u041a\u0411 \u043d\u0430 50 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u043b\u0430\u0442\u0438\u043c \u0437\u0430 \u043a\u0430\u0436\u0434\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e. \u0412 <code>ConfigurationBinder.cs<\/code> \u043c\u0435\u0436\u0434\u0443 10.0 \u0438 RC3 \u0432\u0441\u0435\u0433\u043e 7 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, \u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445, <a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/126396\" rel=\"noopener nofollow\">#126396<\/a> \u0441 \u043d\u043e\u0432\u044b\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c <code>[ConfigurationIgnore]<\/code>, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443:<\/p>\n<pre><code class=\"cs\">private static bool IsIgnoredProperty(PropertyInfo property) =&gt;    property.IsDefined(typeof(ConfigurationIgnoreAttribute));<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041e\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0435. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0434\u043e\u0433\u0430\u0434\u043a\u0443, \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u0431\u0438\u043d\u0434\u0435\u0440 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 RC3 \u0441 \u0437\u0430\u043c\u0435\u043d\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 <code>false<\/code> \u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u043b \u043e\u0434\u043d\u0443 DLL \u0432 \u0443\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435. \u0422\u0435 \u0436\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438, 6 \u0440\u0430\u0443\u043d\u0434\u043e\u0432, \u0440\u0435\u0436\u0438\u043c \u0441\u0442\u0435\u043d\u0434\u0430:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">10.0<\/p>\n<\/th>\n<th>\n<p align=\"left\">11 RC<\/p>\n<\/th>\n<th>\n<p align=\"left\">11 RC, \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u0430<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0411\u0438\u043d\u0434\u0438\u043d\u0433 POCO<\/p>\n<\/td>\n<td>\n<p align=\"left\">61 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">148 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">60 \u043c\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>IOptionsSnapshot<\/code> \u0432 \u043d\u043e\u0432\u043e\u043c scope<\/p>\n<\/td>\n<td>\n<p align=\"left\">51 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">139 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">53 \u043c\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f DataAnnotations<\/p>\n<\/td>\n<td>\n<p align=\"left\">43 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">53 \u043c\u043a\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">43 \u043c\u043a\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0410\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0430 \u043d\u0430 \u0432\u044b\u0437\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">18,4 \u041a\u0411<\/p>\n<\/td>\n<td>\n<p align=\"left\">28,4 \u041a\u0411<\/p>\n<\/td>\n<td>\n<p align=\"left\">18,4 \u041a\u0411<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u0442\u0440\u0438 \u0438\u0437 \u0448\u0435\u0441\u0442\u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0445 \u0441\u0434\u0432\u0438\u0433\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430. \u0425\u043e\u043b\u043e\u0434\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (+76%) \u043e\u043d\u0430 \u043d\u0435 \u043b\u0435\u0447\u0438\u0442, \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043c \u0434\u0440\u0443\u0433\u0430\u044f \u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u044d\u0442\u043e \u0432 BenchmarkDotNet, \u0431\u0435\u0437 \u043c\u043e\u0435\u0433\u043e \u0442\u0440\u0435\u0439\u0441\u0435\u0440\u0430, \u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435:<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/9a\/17\/26\/9a172674ea9d8ef646d02aa38e4f3bb2.png\" alt=\"\u0421\u0442\u043e\u043b\u0431\u0446\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438 Get&lt;span class=\" title=\"\u0421\u0442\u043e\u043b\u0431\u0446\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438 Get&lt;T&gt;: 10.0 \u2014 29 \u043c\u043a\u0441, 11 RC3 \u2014 120 \u043c\u043a\u0441, RC3 \u0441 inherit false \u0438 \u0431\u0438\u043d\u0434\u0435\u0440 \u0438\u0437 main \u2014 45 \u043c\u043a\u0441, RC3 \u0441 \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u043e\u0439 \u2014 29 \u043c\u043a\u0441, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u2014 12 \u043c\u043a\u0441\" width=\"1540\" height=\"759\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/9a\/17\/26\/9a172674ea9d8ef646d02aa38e4f3bb2.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/9a\/17\/26\/9a172674ea9d8ef646d02aa38e4f3bb2.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0442\u043e\u043b\u0431\u0446\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438 Get&lt;T&gt;: 10.0 \u2014 29 \u043c\u043a\u0441, 11 RC3 \u2014 120 \u043c\u043a\u0441, RC3 \u0441 inherit false \u0438 \u0431\u0438\u043d\u0434\u0435\u0440 \u0438\u0437 main \u2014 45 \u043c\u043a\u0441, RC3 \u0441 \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u043e\u0439 \u2014 29 \u043c\u043a\u0441, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u2014 12 \u043c\u043a\u0441<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0446\u0435\u043d\u0443 \u0434\u0430\u0451\u0442 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0430-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435: \u0443 \u043d\u0435\u0451 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <code>inherit: true<\/code>. \u0421 <code>inherit: false<\/code> \u0432\u0440\u0435\u043c\u044f \u043f\u0430\u0434\u0430\u0435\u0442 \u0441\u043e 120 \u0434\u043e 45 \u043c\u043a\u0441, \u0430 \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043a \u0443\u0440\u043e\u0432\u043d\u044e 10.0. \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0432 <code>main<\/code> \u043f\u043e\u0441\u043b\u0435 <a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/135672\" rel=\"noopener nofollow\">#135672<\/a>, \u043d\u043e \u0442\u043e\u0442 PR \u0447\u0438\u043d\u0438\u0442 \u0434\u0440\u0443\u0433\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443 \u0438 \u0432 \u0432\u0435\u0442\u043a\u0443 <code>release\/11.0<\/code> \u043d\u0435 \u043f\u043e\u043f\u0430\u043b. \u042f \u0437\u0430\u0432\u0451\u043b <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/136759\" rel=\"noopener nofollow\">issue #136759<\/a> \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0438 \u044d\u0442\u0438\u043c\u0438 \u0446\u0438\u0444\u0440\u0430\u043c\u0438. \u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438 dotnet\/performance \u044d\u0442\u043e\u0433\u043e, \u043f\u043e\u0445\u043e\u0436\u0435, \u043d\u0435 \u043b\u043e\u0432\u044f\u0442: <a href=\"https:\/\/github.com\/dotnet\/performance\/blob\/main\/src\/benchmarks\/micro\/libraries\/Microsoft.Extensions.Configuration\/ConfigurationBinderBenchmarks.cs\" rel=\"noopener nofollow\">\u0438\u0445 \u0442\u0435\u0441\u0442 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0430<\/a> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043b\u0430\u0441\u0441 \u0441 \u043e\u0434\u043d\u0438\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c.<\/p>\n<p>\u041c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u0438\u043b \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0434\u0435\u043d\u044c. \u0420\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044e \u043f\u0440\u0438\u0437\u043d\u0430\u043b\u0438 (issue \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043c\u0435\u0442\u043a\u0443 <code>regression-from-last-release<\/code>), \u043d\u043e \u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043f\u0440\u044f\u043c\u043e: \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0431\u0438\u043d\u0434\u0435\u0440\u0430 \u043d\u0435 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442, \u0434\u043b\u044f \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043f\u0443\u0442\u0435\u0439 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432. \u0421\u043c\u044f\u0433\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438 \u0432 <code>main<\/code> \u043e\u0431\u0435\u0449\u0430\u043b\u0438 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0444\u0438\u043a\u0441 \u0434\u043b\u044f \u0431\u044d\u043a\u043f\u043e\u0440\u0442\u0430 \u0432 11.0, \u0430 <code>IOptionsSnapshot<\/code> \u043d\u0430\u0437\u0432\u0430\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u0443\u0436\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0432\u0448\u0435\u0439\u0441\u044f \u0432 <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/53793\" rel=\"noopener nofollow\">#53793<\/a>. \u041f\u043e\u0437\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f <a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/136899\" rel=\"noopener nofollow\">\u0447\u0435\u0440\u043d\u043e\u0432\u043e\u0439 PR #136899<\/a>: \u043e\u043d \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0430 \u0444\u043b\u0430\u0433\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0433\u0435\u0442\u0442\u0435\u0440\u0430 \u0438 \u0441\u0435\u0442\u0442\u0435\u0440\u0430 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0434\u0435\u0448\u0451\u0432\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0431\u0435\u0437 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f. \u041f\u043e \u0446\u0438\u0444\u0440\u0430\u043c \u0430\u0432\u0442\u043e\u0440\u0430, <code>Get&lt;T&gt;<\/code> \u043d\u0430 50 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 10,3 \u043c\u043a\u0441 \u043f\u0440\u043e\u0442\u0438\u0432 27,6 \u043c\u043a\u0441 \u0432 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 \u0438 9,4 \u043c\u043a\u0441 \u0432 \u0431\u0438\u043d\u0434\u0435\u0440\u0435 10.0, \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043a 17,5 \u041a\u0411. \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 10\u201315% \u043a 10.0, \u0442\u043e \u0435\u0441\u0442\u044c \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u0438\u043f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043b, \u044d\u0442\u043e\u0442 PR \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0438 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f PR \u043d\u0435 \u0432\u043b\u0438\u0442 \u0438 \u0431\u0435\u0437 \u0440\u0435\u0432\u044c\u044e, \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u0434\u0451\u0442 \u043b\u0438 \u0444\u0438\u043a\u0441 \u0432 11.0, \u043f\u043e\u043a\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e. \u041a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u0438 milestone: issue \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a 12.0.0, \u0430 \u043d\u0435 \u043a 11.0, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044d\u043a\u043f\u043e\u0440\u0442 \u043f\u043e\u043a\u0430 \u043e\u0431\u0435\u0449\u0430\u043d, \u043d\u043e \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d.<\/p>\n<p>PR \u043e\u0442\u043a\u0440\u044b\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u043c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0444\u0438\u0447\u0430 \u0434\u0435\u043b\u0430\u043b\u0430\u0441\u044c \u043f\u043e \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u043d\u043e\u043c\u0443 API-\u0437\u0430\u043f\u0440\u043e\u0441\u0443, \u0441\u043b\u0435\u0434\u043e\u0432 Copilot \u0432 \u043a\u043e\u043c\u043c\u0438\u0442\u0435 \u043d\u0435\u0442. \u042d\u0442\u043e \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0418\u0418 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f: \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442 \u0432 IDE \u0432 Git \u043d\u0435 \u0432\u0438\u0434\u0435\u043d.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0436\u0435 \u043d\u0430 RC, \u043e\u0431\u0445\u043e\u0434 \u0435\u0441\u0442\u044c: \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 (<code>EnableConfigurationBindingGenerator<\/code>) \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0434\u0430\u0451\u0442 12 \u043c\u043a\u0441 \u0438 5,7 \u041a\u0411, \u0442\u043e \u0435\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 10.0 (29 \u043c\u043a\u0441), \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0431\u0438\u043d\u0434\u0435\u0440\u0430. \u0418\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0438 \u0441\u043e\u0432\u0435\u0442\u0443\u044e\u0442 \u0434\u043b\u044f \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u0432 \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u043e\u043d\u043d\u043e\u043c \u043f\u0443\u0442\u0438 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442. <code>IOptionsSnapshot<\/code> \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043e\u043f\u0446\u0438\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 scope \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e, \u0438 \u0435\u0449\u0451 \u0432 2021 \u0433\u043e\u0434\u0443 \u0414\u044d\u0432\u0438\u0434 \u0424\u0430\u0443\u043b\u0435\u0440 <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/53793\" rel=\"noopener nofollow\">\u043d\u0430\u0437\u0432\u0430\u043b \u0435\u0433\u043e \u043b\u043e\u0432\u0443\u0448\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a>. \u0422\u0430\u043c, \u0433\u0434\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, <code>IOptionsMonitor<\/code> \u0434\u0435\u0448\u0435\u0432\u043b\u0435 \u0438 \u0431\u0435\u0437 \u044d\u0442\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438.<\/p>\n<p>\u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: \u044d\u0442\u043e \u0440\u0435\u043b\u0438\u0437-\u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442, \u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0442\u0440\u0435\u043a\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0431\u043e\u0440\u043a\u0430 <code>net10.0<\/code> \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 11.0 \u043d\u0430 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435 .NET 10, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c net11.0 \u0446\u0438\u0444\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h3>\u0415\u0449\u0451 \u043e\u0434\u043d\u0443 \u043f\u0440\u043e\u0441\u0430\u0434\u043a\u0443 \u0432\u043d\u0451\u0441 \u0430\u0433\u0435\u043d\u0442, \u0438 \u044d\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u043d<\/h3>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 resolve \u0432 DI \u043d\u0430 \u0448\u0430\u0433\u0435 \u043a 11 RC \u0432\u044b\u0440\u043e\u0441 \u0435\u0449\u0451 \u043d\u0430 15%. \u0417\u0434\u0435\u0441\u044c \u0430\u0433\u0435\u043d\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u044f\u0434\u043e\u043c: \u0432 DI \u0443 \u043d\u0435\u0433\u043e 11 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0438\u0437 21, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043e\u0431\u0440\u0430\u043b DI \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u043f\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u043c \u0438 \u043f\u0440\u043e\u0433\u043d\u0430\u043b \u0431\u0438\u0441\u0435\u043a\u0442, 8 \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u043d\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0421\u043a\u0430\u0447\u043e\u043a \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u043e\u0432\u043d\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043c\u043c\u0438\u0442\u0435:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0421\u0431\u043e\u0440\u043a\u0430 DI<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u0435\u0440\u0432\u044b\u0439 resolve, 100 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">10.0, \u043f\u0430\u043a\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,565 \u043c\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043e\u043c\u043c\u0438\u0442 \u043f\u0435\u0440\u0435\u0434 #124331<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,554 \u043c\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/124331\" rel=\"noopener nofollow\">#124331<\/a>, PR \u0430\u0433\u0435\u043d\u0442\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,641 \u043c\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">11 RC3, \u043f\u0430\u043a\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,653 \u043c\u0441<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">11 RC3 \u0441 \u043e\u0442\u043a\u0430\u0442\u043e\u043c \u0442\u043e\u043b\u044c\u043a\u043e #124331<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,569 \u043c\u0441<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0412\u043d\u0443\u0442\u0440\u0438 \u0440\u0430\u0443\u043d\u0434\u0430 \u043a\u043e\u043c\u043c\u0438\u0442 \u0434\u0430\u0451\u0442 +16,5% (95% \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b 14,3\u201318,8, \u0432\u0441\u0435 8 \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0443), \u0430 \u043e\u0442\u043a\u0430\u0442 \u043d\u0430 RC3 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a \u0443\u0440\u043e\u0432\u043d\u044e 10.0: \u0440\u0430\u0437\u043d\u0438\u0446\u0430 +1,9%, \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u043e\u043b\u044c. \u041d\u0430 \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u043c resolve \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0440\u0430\u0441\u0442\u0443\u0442 \u0441 8848 \u0434\u043e 9080 \u0431\u0430\u0439\u0442. \u041f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u0435 <code>singleton<\/code>, <code>scoped<\/code> \u0438 \u0441\u0431\u043e\u0440\u043a\u0443 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043a\u043e\u043c\u043c\u0438\u0442 \u043d\u0435 \u0437\u0430\u0434\u0435\u0432\u0430\u0435\u0442.<\/p>\n<p>\u042d\u0442\u043e\u0442 PR \u0447\u0438\u043d\u0438\u0442 <a href=\"https:\/\/github.com\/dotnet\/runtime\/issues\/88390\" rel=\"noopener nofollow\">\u0434\u0435\u0434\u043b\u043e\u043a<\/a> \u043f\u0440\u0438 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u0445 \u0447\u0435\u0440\u0435\u0437 \u0444\u0430\u0431\u0440\u0438\u043a\u0438. \u0422\u0435\u043f\u0435\u0440\u044c <code>VisitRootCache<\/code> \u0432\u0435\u0434\u0451\u0442 <code>[ThreadStatic] HashSet<\/code> \u0442\u0435\u0445, \u043a\u043e\u0433\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0440\u0435\u0437\u043e\u043b\u0432\u0438\u0442 \u043f\u043e\u0442\u043e\u043a. \u0426\u0435\u043d\u0430 \u2014 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 0,9 \u043c\u043a\u0441 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 resolve \u0432 \u043d\u043e\u0432\u043e\u043c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0435, \u0438 \u0437\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0434\u0435\u0434\u043b\u043e\u043a \u044d\u0442\u043e \u0440\u0430\u0437\u0443\u043c\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430. PR \u043f\u0440\u043e\u0448\u0451\u043b \u0440\u0435\u0432\u044c\u044e \u0438 \u0432\u043b\u0438\u0442 \u043b\u044e\u0434\u044c\u043c\u0438.<\/p>\n<p>\u0412 \u043c\u043e\u0451\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0438\u0437 24 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 <code>VisitRootCache<\/code> \u043d\u0435 \u0431\u044b\u043b\u043e, \u0442\u0430\u043a \u0447\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043f\u043e \u043c\u0435\u0442\u043e\u0434\u0430\u043c \u044d\u0442\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0430, \u0438 \u043d\u0430\u0448\u0451\u043b \u0435\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u0441\u0435\u043a\u0442. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0433\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u043f\u0440\u0430\u0432\u043a\u0438 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430, \u043d\u0430 \u044d\u0442\u043e\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0435 \u0432\u043b\u0438\u044f\u044e\u0442: \u0442\u0430\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043e\u0434\u0438\u043d. \u0414\u0440\u0443\u0433\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u044f \u0442\u0430\u043a \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b.<\/p>\n<h3>\u0412\u0442\u043e\u0440\u043e\u0439 \u0442\u0440\u0435\u043a: net10.0 \u043f\u0440\u043e\u0442\u0438\u0432 net11.0<\/h3>\n<p>\u0417\u0434\u0435\u0441\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435, \u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0435: Kestrel \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u043d\u0430 54% \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 EF \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u0441\u0445\u0435\u043c\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u043e\u0441\u044c \u043d\u0430 15\u201317%. <code>DetectChanges<\/code> \u0442\u0430\u043c, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043d\u0430 11\u201312%. \u0412\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 <a href=\"http:\/\/ASP.NET\" rel=\"noopener nofollow\">ASP.NET<\/a> Core \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u043d\u0430 81\u201390%, \u043d\u043e \u044d\u0442\u043e\u0439 \u0446\u0438\u0444\u0440\u0435 \u044f \u043f\u043e\u043a\u0430 \u043d\u0435 \u0432\u0435\u0440\u044e: \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0433\u043e\u043c\u043e\u0434\u0430\u043b\u044c\u043d\u043e\u0435, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439, \u0430 bombardier \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f.<\/p>\n<h3>\u0427\u0435\u043c \u0432\u0441\u0451 \u044d\u0442\u043e \u0441\u043d\u044f\u0442\u043e<\/h3>\n<p>EmberTrace \u2014 \u043c\u043e\u0439 \u0442\u0440\u0435\u0439\u0441\u0435\u0440 \u0434\u043b\u044f .NET \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT, \u043f\u0430\u043a\u0435\u0442 \u0435\u0441\u0442\u044c \u043d\u0430 NuGet. \u0412\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0437\u0430\u043c\u0435\u0440\u044b \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0441\u043a\u043e\u043f \u043d\u0430 \u043f\u0430\u0447\u043a\u0443 \u0432\u044b\u0437\u043e\u0432\u043e\u0432, \u043a\u0430\u043a \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435: \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0442\u044b\u0441\u044f\u0447\u0438, \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0430\u0439\u043b <code>.ember<\/code>, \u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0443\u0436\u0435 \u043f\u043e \u0444\u0430\u0439\u043b\u0430\u043c.<\/p>\n<p>\u0412\u0438\u043d\u043e\u0432\u043d\u0438\u043a\u0430 \u0442\u0440\u0435\u0439\u0441\u0435\u0440 \u0441\u0430\u043c \u043d\u0435 \u043d\u0430\u0437\u0432\u0430\u043b: \u0441\u0434\u0432\u0438\u0433 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0437\u0430\u043c\u0435\u0440\u044b, \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043d\u0430\u0448\u0451\u043b <code>git log<\/code>, \u0430 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u043b\u0430 \u043f\u043e\u0434\u043c\u0435\u043d\u0430 DLL. \u0417\u0430\u0442\u043e \u0441\u043a\u043e\u043f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0432\u043d\u0443\u0442\u0440\u044c \u0447\u0443\u0436\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0443\u0434\u0430 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432\u0440\u0435\u043c\u044f. \u042f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u043a\u043e\u043f\u0430 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u0438\u043d\u0434\u0435\u0440\u0430:<\/p>\n<pre><code class=\"cs\">private static bool IsIgnoredProperty(PropertyInfo property){    using var scope = Tracer.Scope(Tracer.Id(\"ConfigurationBinder.IsIgnoredProperty\"));    return property.IsDefined(typeof(ConfigurationIgnoreAttribute));}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u043e\u0442 \u043e\u0442\u0447\u0451\u0442 <code>TraceText.Write<\/code> \u0437\u0430 20 \u043f\u0430\u0447\u0435\u043a \u043f\u043e 1000 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u043e\u0432:<\/p>\n<pre><code>Name                                   Count    Incl ms   Excl ms   Excl%bind.x1k                               20       2958.218  192.096   6.44ConfigurationBinder.BindProperties     20000    2766.122  356.338   11.95ConfigurationBinder.IsIgnoredProperty  1000000  1813.144  1813.144  60.80ConfigurationBinder.BindProperty       1000000  551.475   551.475   18.49ConfigurationBinder.GetAllProperties   20000    45.165    45.165    1.51<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041c\u0438\u043b\u043b\u0438\u043e\u043d \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0438 61% \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u044d\u0442\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u043d\u0435\u0442. \u0417\u0430 3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e 4 \u043c\u043b\u043d \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043d\u0438 \u043e\u0434\u043d\u043e \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043e. \u0423 \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0446\u0435\u043d\u0430: \u0441\u043e \u0441\u043a\u043e\u043f\u0430\u043c\u0438 \u0431\u0438\u043d\u0434\u0438\u043d\u0433 \u0437\u0430\u043d\u044f\u043b 148 \u043c\u043a\u0441 \u043f\u0440\u043e\u0442\u0438\u0432 120 \u043c\u043a\u0441 \u0432 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u0433\u0440\u0443\u0431\u043e 0,3 \u043c\u043a\u0441 \u043d\u0430 \u0441\u043a\u043e\u043f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0445\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u043c\u0435\u043d\u0438 \u0432 <a href=\"http:\/\/Tracer.Id\" rel=\"noopener nofollow\"><code>Tracer.Id<\/code><\/a>, \u0442\u0430\u043a \u0447\u0442\u043e \u0434\u043e\u043b\u0438 \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435. \u0414\u043b\u044f \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0437\u043e\u0432\u043e\u0439 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u044d\u0442\u043e \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e, \u0430 \u0441\u043a\u043e\u043f \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 \u044f \u0431\u044b \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043b.<\/p>\n<h3>\u0410\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u043d\u0430\u0434\u0451\u0436\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/h3>\n<p>\u0411\u0430\u0439\u0442\u044b \u043d\u0430 \u043f\u0430\u0447\u043a\u0443 \u043f\u043e\u0447\u0442\u0438 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438 \u043e\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u0432 \u043d\u0430\u0431\u043e\u0440\u0435.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/1e\/da\/d2\/1edad2024ed11b6179fbf7a592e2b24c.png\" alt=\"\u0421\u0442\u043e\u043b\u0431\u0447\u0430\u0442\u0430\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0439: \u043e\u0442 \u043c\u0438\u043d\u0443\u0441 42 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u0443 DetectChanges \u0434\u043e \u043f\u043b\u044e\u0441 51 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0443 ToQueryString\" width=\"1540\" height=\"1045\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/1e\/da\/d2\/1edad2024ed11b6179fbf7a592e2b24c.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/1e\/da\/d2\/1edad2024ed11b6179fbf7a592e2b24c.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0442\u043e\u043b\u0431\u0447\u0430\u0442\u0430\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0439: \u043e\u0442 \u043c\u0438\u043d\u0443\u0441 42 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u0443 DetectChanges \u0434\u043e \u043f\u043b\u044e\u0441 51 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u0443 ToQueryString<\/figcaption><\/div>\n<\/figure>\n<p>\u0427\u0430\u0441\u0442\u043e \u043f\u0430\u043c\u044f\u0442\u044c \u0438 \u0432\u0440\u0435\u043c\u044f \u0438\u0434\u0443\u0442 \u0432\u043c\u0435\u0441\u0442\u0435: \u0443 <code>LoggerMessage<\/code> \u0438 <code>DetectChanges<\/code> \u043c\u0435\u043d\u044c\u0448\u0435 \u0438 \u0442\u043e\u0433\u043e \u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e, \u0443 <code>ValidateOnBuild<\/code> \u0438 <code>DbContext<\/code> \u0431\u043e\u043b\u044c\u0448\u0435. \u041d\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u0438 \u0438\u043d\u0430\u0447\u0435. <code>Where + OrderBy + Take<\/code> \u0432 EF \u0430\u043b\u043b\u043e\u0446\u0438\u0440\u0443\u0435\u0442 \u043d\u0430 22% \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0448\u0443\u043c\u0430 (+1,7%): \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u044d\u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0432\u044b\u043b\u0435\u0437\u0435\u0442 \u043f\u043e\u0437\u0436\u0435 \u043a\u0430\u043a \u043b\u0438\u0448\u043d\u044f\u044f \u0440\u0430\u0431\u043e\u0442\u0430 GC. \u0410 \u0441\u0431\u043e\u0440\u043a\u0430 DI-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u043d\u0430 1000 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0439 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0430 17% \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0445\u043e\u0442\u044f \u0435\u0451 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0443\u043f\u0430\u043b\u043e \u043d\u0430 25%.<\/p>\n<p>\u041a\u043e\u0434 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0440\u0430\u0441\u0442\u0451\u0442. \u041c\u0435\u0436\u0434\u0443 7.0 \u0438 11 RC \u043a\u043e\u0434 DI \u0432\u044b\u0440\u043e\u0441 \u043d\u0430 25%, <code>Caching.Memory<\/code> \u043d\u0430 24%, <code>DI.Abstractions<\/code> \u043d\u0430 129%, \u043f\u0440\u0438\u0447\u0451\u043c \u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043a\u0430\u0447\u043e\u043a \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 8.0, \u0433\u0434\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c keyed services. \u0421\u0440\u0435\u0434\u043d\u044f\u044f \u0446\u0438\u043a\u043b\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0441\u0434\u0432\u0438\u043d\u0443\u043b\u0430\u0441\u044c, \u043e\u043d\u0430 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 1,3\u20132,5, \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u043e \u0441\u0440\u0435\u0434\u043d\u0438\u043c \u0432\u0441\u0451 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e. \u041d\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u0430 \u0432 DI \u0432\u044b\u0440\u043e\u0441\u043b\u0430 \u0441 14 \u0434\u043e 23, \u0430 \u0432 <code>DI.Abstractions<\/code> \u0441 10 \u0434\u043e 26.<\/p>\n<h3>\u00ab\u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439\u00bb \u0441\u0442\u0435\u043d\u0434 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u043e\u0447\u0442\u0438 \u0432\u0434\u0432\u043e\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435<\/h3>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f: \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0443, \u0432\u044b\u043a\u043b\u044e\u0447\u0438 \u0442\u0443\u0440\u0431\u043e\u0431\u0443\u0441\u0442. \u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 <code>no_turbo<\/code> \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u044f\u0434\u0440\u0430 \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 2 \u0413\u0413\u0446 \u043f\u0440\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0435 4,4 \u0413\u0413\u0446. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0432\u0441\u0435 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432 1,6\u20132,1 \u0440\u0430\u0437\u0430 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043d\u0430 \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c\u00bb \u0441\u0442\u0435\u043d\u0434\u0435.<\/p>\n<p>\u041b\u0430\u0434\u043d\u043e \u0431\u044b \u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u043d\u043e \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435:<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/extt\/8b\/ae\/cd\/8baecd9f81589cbd9b984085ccb5b4f4.png\" alt=\"\u0413\u0430\u043d\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a: \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 DI \u0438 IOptionsMonitor \u0434\u0432\u0430 \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 9\u201314 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u044b\u0445 \u043f\u0443\u043d\u043a\u0442\u043e\u0432, \u0434\u043b\u044f LoggerMessage, LoggerFactory \u0438 \u043a\u044d\u0448\u0430 \u043d\u0430 2\u20134\" width=\"1540\" height=\"990\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/extt\/8b\/ae\/cd\/8baecd9f81589cbd9b984085ccb5b4f4.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/extt\/8b\/ae\/cd\/8baecd9f81589cbd9b984085ccb5b4f4.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0413\u0430\u043d\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a: \u0434\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 DI \u0438 IOptionsMonitor \u0434\u0432\u0430 \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 9\u201314 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u044b\u0445 \u043f\u0443\u043d\u043a\u0442\u043e\u0432, \u0434\u043b\u044f LoggerMessage, LoggerFactory \u0438 \u043a\u044d\u0448\u0430 \u043d\u0430 2\u20134<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 DI \u0438 <code>IOptionsMonitor<\/code> \u0432 10.0 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 3\u20138% \u043d\u0430 \u0441\u0442\u0435\u043d\u0434\u0435 \u0438 \u043d\u0430 15\u201320% \u043d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445. \u0414\u043b\u044f singleton, transient \u0438 open generic \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u00ab\u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430 \u043d\u0435\u0442\u00bb \u0438 \u00ab\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435\u00bb, \u0445\u043e\u0442\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043a\u043e\u0434\u0430 \u0442\u0430 \u0436\u0435 \u0441\u0430\u043c\u0430\u044f. \u041f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u2014 \u0434\u0440\u0443\u0433\u043e\u0435 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u044f\u0434\u0440\u0430 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u043e\u043d\u043e \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u043e\u0441\u044c.<\/p>\n<p>\u0421\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0451 \u043d\u0430 \u0434\u0440\u0435\u0439\u0444 \u043d\u0435\u043b\u044c\u0437\u044f: \u0440\u0430\u0443\u043d\u0434\u044b \u0441\u0442\u0435\u043d\u0434\u0430 \u0438\u0434\u0443\u0442 \u0438 \u0434\u043e, \u0438 \u043f\u043e\u0441\u043b\u0435 \u0431\u043b\u043e\u043a\u0430 \u0441 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438. \u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0437\u043d\u0430\u0447\u0438\u043c\u0443\u044e \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u0432 29 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0438\u0437 252, \u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u044b\u0445 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u0441\u0442\u0435\u043d\u0434\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u2014 \u0432 \u043e\u0434\u043d\u043e\u043c. \u0414\u0438\u0437\u0430\u0439\u043d \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u0438\u0434\u0435\u0430\u043b\u0435\u043d: \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0435 \u0440\u0430\u0443\u043d\u0434\u044b \u0438\u0434\u0443\u0442 \u043e\u0434\u043d\u0438\u043c \u0431\u043b\u043e\u043a\u043e\u043c, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0432 \u043d\u0438\u0445 \u043c\u0435\u043d\u044c\u0448\u0435 (33 \u043f\u0440\u043e\u0442\u0438\u0432 78).<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u00b15%, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0432 \u043e\u0434\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u043c\u0430\u043b\u043e \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0430\u0442. \u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0439\u0442\u0435 \u0440\u0435\u0436\u0438\u043c, \u0430 \u043b\u0443\u0447\u0448\u0435 \u043c\u0435\u0440\u044c\u0442\u0435 \u0432 \u0434\u0432\u0443\u0445.<\/p>\n<h3>\u0418\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/h3>\n<ul>\n<li>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430 \u044f \u0443\u0436\u0435\u0441\u0442\u043e\u0447\u0438\u043b \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u044b\u0445 \u0440\u0430\u0443\u043d\u0434\u043e\u0432. \u0418\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e \u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0435, \u043d\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432\u0441\u0451 \u0436\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0441\u0451 \u0441\u043d\u044f\u0442\u043e \u043d\u0430 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0441 \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c, \u0431\u0435\u0437 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u044f\u0434\u0435\u0440 \u0438 \u043f\u0440\u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c 1\u20132,7. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043f\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0430\u0443\u043d\u0434\u0430, \u0430 \u043d\u0435 \u043d\u0430 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u043d\u043e\u0433\u0434\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0423 <code>cache.set<\/code> \u0438 <code>get-or-create<\/code> \u0432 10.0 \u043c\u0435\u0434\u0438\u0430\u043d\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0440\u043e\u0441\u0442 \u043d\u0430 22\u201331%, \u0430 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u2014 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 5\u20139%. \u041f\u0440\u0438\u0447\u0438\u043d\u0443 \u0434\u0432\u0443\u0445 \u043c\u043e\u0434 \u044f \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0432\u043e\u0434\u043e\u0432 \u043f\u043e \u044d\u0442\u0438\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c \u043d\u0435 \u0434\u0435\u043b\u0430\u044e.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043c\u0435\u0440\u044b \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438 \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e API, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432\u043e \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445, \u0442\u0430\u043a \u0447\u0442\u043e \u0441\u0430\u043c\u044b\u0435 \u043d\u043e\u0432\u044b\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u043f\u0443\u0442\u0438 \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u043e\u043f\u0430\u043b\u0438. \u0421\u0442\u0430\u0440\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435 \u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<h3>\u0427\u0442\u043e \u0432 \u0438\u0442\u043e\u0433\u0435<\/h3>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441 7.0, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438 \u0442\u0430\u043a \u0432\u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0438 \u0440\u0430\u0434\u0438 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043f\u0443\u0442\u0435\u0439: \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0442\u0430\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 serverless \u0438\u043b\u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u0446\u0435\u043d\u0443 \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430 \u043b\u0443\u0447\u0448\u0435 \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u0441\u0430\u043c\u0438\u043c. \u041f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043d\u0430 11.0 \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0433\u043d\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0441 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u043e\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 <code>IOptionsSnapshot<\/code>, \u043f\u0440\u0438\u0447\u0451\u043c \u043d\u0430 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0430 \u043d\u0435 \u043d\u0430 RC, \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043f\u043e\u043f\u0430\u043b \u043b\u0438 \u0432 \u0440\u0435\u043b\u0438\u0437 \u0444\u0438\u043a\u0441 \u0438\u0437 <a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/136899\" rel=\"noopener nofollow\">#136899<\/a>.<\/p>\n<p>\u041d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e\u0442\u0432\u0435\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043a\u043e\u0439: \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b, \u043d\u0435\u0442 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043a\u043e\u0434 \u0441\u0442\u0430\u043b \u0445\u0443\u0436\u0435 \u0438\u0437-\u0437\u0430 \u0418\u0418, \u043d\u043e \u0438 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043d\u0435\u0442. \u0414\u043e 10.0 \u0430\u0433\u0435\u043d\u0442\u0430 \u0432 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430\u0445 DI \u0438 \u043a\u044d\u0448\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0431\u044b\u043b\u043e. \u0412 11.0 \u043e\u043d \u0442\u0430\u043c \u0435\u0441\u0442\u044c, \u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0435\u0433\u043e \u043f\u0440\u0430\u0432\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u043f\u043e\u0439\u043c\u0430\u043b \u043d\u0430 \u0437\u0430\u043c\u0435\u0440\u0430\u0445, \u0441\u0442\u043e\u0438\u0442 0,9 \u043c\u043a\u0441 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 resolve \u0432 \u043e\u0431\u043c\u0435\u043d \u043d\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0434\u0435\u0434\u043b\u043e\u043a. \u0421\u0430\u043c\u0430\u044f \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044f \u0440\u0435\u043b\u0438\u0437\u0430 \u2014 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 PR \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u0440\u0430\u0434\u0438 \u043d\u043e\u0432\u043e\u0439 \u0444\u0438\u0447\u0438.<\/p>\n<p>\u041e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f EF Core, \u0433\u0434\u0435 \u043f\u0440\u0430\u0432\u043e\u043a \u0430\u0433\u0435\u043d\u0442\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e, \u0445\u043e\u043b\u043e\u0434\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u0442\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u043a \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0440\u0435\u043b\u0438\u0437\u0443.<\/p>\n<p>\u041a\u043e\u0434 \u0441\u0442\u0435\u043d\u0434\u0430, \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430: <a href=\"https:\/\/github.com\/Echways\/dotnet-ai-era-benchmarks\" rel=\"noopener nofollow\">dotnet-ai-era-benchmarks<\/a>.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1104356\/\">https:\/\/habr.com\/ru\/articles\/1104356\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041b\u0438\u043d\u0438\u0438 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0442 .NET 7.0 \u0434\u043e 11 RC: \u0441\u0438\u043d\u0438\u0435 \u0443\u0445\u043e\u0434\u044f\u0442 \u0432\u043d\u0438\u0437, \u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u0432\u0432\u0435\u0440\u0445, IOptionsSnapshot \u0438 \u0431\u0438\u043d\u0434\u0438\u043d\u0433 POCO \u0440\u0435\u0437\u043a\u043e \u0432\u0437\u043b\u0435\u0442\u0430\u044e\u0442 \u043d\u0430 11 RC\u0412 \u043d\u043e\u044f\u0431\u0440\u0435 2022 \u0433\u043e\u0434\u0430 \u0441 \u0440\u0430\u0437\u043d\u0438\u0446\u0435\u0439 \u0432 \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438 \u0432\u044b\u0448\u043b\u0438 .NET 7 \u0438 ChatGPT. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043e\u0442\u0441\u0447\u0451\u0442\u0430: .NET 7 \u0441\u0442\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0434\u043e ChatGPT. \u0410 \u0432 \u043c\u0430\u0435 2025 \u0433\u043e\u0434\u0430 \u0432 dotnet\/runtime \u043f\u0440\u0438\u0448\u0451\u043b Copilot coding agent \u0438 \u043a \u043a\u043e\u043d\u0446\u0443 \u043e\u043a\u0442\u044f\u0431\u0440\u044f 2026-\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u043b \u0442\u0430\u043c 1734 pull request\u2019\u0430, 1207 \u0438\u0437 \u043d\u0438\u0445 \u0441\u043c\u0435\u0440\u0436\u0435\u043d\u044b.d\u041f\u043e\u0440\u0442\u0438\u0442 \u043b\u0438 \u0418\u0418 \u043a\u043e\u0434, \u0441\u043f\u043e\u0440\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u043b\u0433\u043e, \u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c. \u042f \u0437\u0430\u043c\u0435\u0440\u0438\u043b DI, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e, \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043a\u044d\u0448 \u0438 EF Core: 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0448\u0435\u0441\u0442\u044c \u043c\u0430\u0436\u043e\u0440\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, 30 \u0440\u0430\u0443\u043d\u0434\u043e\u0432. \u0417\u0430\u043e\u0434\u043d\u043e \u043f\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438 Git \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b, \u043a\u0442\u043e \u0442\u0440\u043e\u0433\u0430\u043b \u0433\u043e\u0440\u044f\u0447\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u0430 \u0434\u0432\u0435 \u043f\u0440\u043e\u0441\u0430\u0434\u043a\u0438 \u0432 11 RC \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u043b \u0434\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432. \u0421\u0430\u043c\u0443\u044e \u043a\u0440\u0443\u043f\u043d\u0443\u044e \u0432\u043d\u0451\u0441 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439. \u0412\u0442\u043e\u0440\u0430\u044f, \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435, \u043f\u0440\u0438\u0448\u043b\u0430 \u0441 PR \u043e\u0442 Copilot coding agent, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0438\u043d\u0438\u043b \u0434\u0435\u0434\u043b\u043e\u043a.\u041a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0437\u0430\u043c\u0435\u0440\u044b\u0428\u043a\u0430\u043b\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438: 6.0 \u0438 7.0 \u0434\u043e ChatGPT, 8.0 \u0438 9.0 \u0432 \u044d\u043f\u043e\u0445\u0443 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u0432, 10.0 \u0438 11 RC3 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e PR \u0430\u0433\u0435\u043d\u0442\u0430\u041d\u043e\u0432\u044b\u0439 .NET \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0435\u0449\u0451 \u0438 \u0437\u0430 \u0441\u0447\u0451\u0442 JIT \u0438 GC. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0440\u0435\u043a \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u043d\u0430 .NET 10.0.11 \u0438 \u043c\u0435\u043d\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e NuGet-\u043f\u0430\u043a\u0435\u0442\u044b: Microsoft.Extensions.* \u0441 6-\u0439 \u043f\u043e 11-\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0438 EF Core \u0441 6-\u0439 \u043f\u043e 10-\u044e (EF Core 11 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 net11.0, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445 \u0435\u0433\u043e \u043b\u0438\u043d\u0438\u0438 \u043e\u0431\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 10.0). \u0415\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0430\u0441\u044c \u0441\u0431\u043e\u0440\u043a\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043c\u0430\u0436\u043e\u0440\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043f\u0440\u043e\u0433\u043e\u043d \u043f\u0430\u0434\u0430\u0435\u0442. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 \u0432 \u0441\u0430\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a (System.Text.Json, Channels, ASP.NET Core), \u0442\u0430\u043a \u043d\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c: \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435. \u0418\u0445, \u043a\u0430\u043a \u0438 EF Core 11, \u044f \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, net10.0 \u043f\u0440\u043e\u0442\u0438\u0432 net11.0, \u0438 \u0442\u0430\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f.\u0412\u043e\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0437\u0430\u043c\u0435\u0440\u043e\u0432, IOptionsSnapshot \u0432 \u043d\u043e\u0432\u043e\u043c scope:recorder.Measure(OptionsScopes.Snapshot, 1000, () =&gt;{    for (var i = 0; i &lt; 1000; i++)    {        using var scope = provider.CreateScope();        Sink.Keep(scope.ServiceProvider.GetRequiredService&lt;IOptionsSnapshot&lt;Poco50&gt;&gt;().Value);    }});\u0412\u0440\u0435\u043c\u044f \u043f\u0438\u0448\u0435\u0442 EmberTrace, \u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u0442 GC.GetAllocatedBytesForCurrentThread. \u041d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f 20 \u043f\u0440\u043e\u0433\u0440\u0435\u0432\u043e\u0447\u043d\u044b\u0445 \u0438 200 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0432\u043e\u0451\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u044f\u0434\u0440\u0430\u043c 2\u20135. \u0412\u0441\u0435\u0433\u043e 30 \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u0438 111 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u0430\u0440\u0443 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0435\u0440\u0441\u0438\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0440\u0430\u0443\u043d\u0434\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u043d.\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u2014 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0432\u0441\u0435 \u0440\u0430\u0443\u043d\u0434\u044b \u0432\u0435\u0441\u044f\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0430\u0443\u043d\u0434\u0430 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e 7.0, \u0434\u043e\u0432\u0435\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0434\u0430\u0451\u0442 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u0443\u0442\u0441\u0442\u0440\u044d\u043f, \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0441\u0442\u044c \u2014 U-\u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0439 \u041c\u0430\u043d\u043d\u0430 \u2014 \u0423\u0438\u0442\u043d\u0438 \u0441 \u043f\u043e\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0411\u0435\u043d\u0434\u0436\u0430\u043c\u0438\u043d\u0438 \u2014 \u0425\u043e\u0445\u0431\u0435\u0440\u0433\u0430. \u00ab\u0411\u044b\u0441\u0442\u0440\u0435\u0435\u00bb \u0438\u043b\u0438 \u00ab\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435\u00bb \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f, \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u0435\u0441\u044c 95-\u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043b\u0435\u0436\u0438\u0442 \u0437\u0430 \u043f\u043e\u0440\u043e\u0433\u043e\u043c \u0432 5%, \u043d\u0438 \u043e\u0434\u0438\u043d \u0440\u0430\u0443\u043d\u0434 \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438 \u0441\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 p \u043c\u0435\u043d\u044c\u0448\u0435 0,05. \u0415\u0441\u043b\u0438 \u0432\u0435\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043b\u0435\u0436\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u00b15%, \u044d\u0442\u043e \u0448\u0443\u043c, \u0430 \u0432\u0441\u0451 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0431\u0435\u0437 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430.\u0420\u0430\u0443\u043d\u0434\u044b \u0448\u043b\u0438 \u0432 \u0434\u0432\u0443\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 (Core i5-12450H, Ubuntu 22.04). \u00ab\u0421\u0442\u0435\u043d\u0434\u00bb \u2014 \u044d\u0442\u043e governor performance \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 \u0442\u0443\u0440\u0431\u043e\u0431\u0443\u0441\u0442, 19 \u0440\u0430\u0443\u043d\u0434\u043e\u0432. \u00ab\u0417\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u00bb \u2014 powersave \u0441 \u0442\u0443\u0440\u0431\u043e\u0431\u0443\u0441\u0442\u043e\u043c, 11 \u0440\u0430\u0443\u043d\u0434\u043e\u0432. \u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e, \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c \u043d\u0438\u0436\u0435. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043d\u043e\u0435, \u0446\u0438\u0444\u0440\u044b \u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u0441\u0442\u0435\u043d\u0434\u0443.\u041f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u0439 \u043a\u043e\u0434 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0441\u044f, \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u043b\u0441\u044f\u0414\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0438 10.0 \u043f\u0440\u043e\u0442\u0438\u0432 7.0 \u0438\u0442\u043e\u0433 \u043f\u043e 46 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c \u0442\u0430\u043a\u043e\u0439: 9 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, 13 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, 10 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0448\u0443\u043c\u0430, \u043f\u043e 14 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430 \u043d\u0435\u0442. \u041d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0441 \u043e\u0431\u0435\u0438\u0445 \u0441\u0442\u043e\u0440\u043e\u043d: \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a 10.0 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u043d\u0430 14\u201335%, \u0430 \u043f\u0435\u0440\u0432\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u043b\u0438\u0441\u044c \u043d\u0430 39\u201364%.\u0412\u043e\u0441\u0435\u043c\u044c \u043b\u0438\u043d\u0438\u0439 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 7.0: \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 10.0 \u0443\u0445\u043e\u0434\u044f\u0442 \u0432\u043d\u0438\u0437 \u043d\u0430 14\u201335 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u0442\u0443\u0442 \u043d\u0430 39\u201364 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\u0412 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u0435\u0435. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043d\u044f\u0442\u044b \u043d\u0430 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 2 \u0413\u0413\u0446, \u0442\u0430\u043a \u0447\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u0435\u043b\u0438\u0447\u0438\u043d:\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f7.010.0LoggerMessage.Define, \u043e\u0434\u0438\u043d \u0432\u044b\u0437\u043e\u0432377 \u043d\u0441244 \u043d\u0441MemoryCache.TryGetValue, \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0435111 \u043d\u044196 \u043d\u0441EF DetectChanges, 10 \u0442\u044b\u0441. \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0435\u04396,1 \u043c\u04414,3 \u043c\u0441DI, \u043f\u0435\u0440\u0432\u044b\u0439 resolve \u0433\u0440\u0430\u0444\u0430 \u0433\u043b\u0443\u0431\u0438\u043d\u043e\u0439 53,3 \u043c\u043a\u04415,2 \u043c\u043a\u0441\u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0441 ValidateOnBuild, 100 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u043940 \u043c\u043a\u044166 \u043c\u043a\u0441\u041d\u043e\u0432\u044b\u0439 LoggerFactory23 \u043c\u043a\u044134 \u043c\u043a\u0441\u041d\u043e\u0432\u044b\u0439 DbContext37 \u043c\u043a\u044151 \u043c\u043a\u0441EF, \u0441\u0430\u043c\u044b\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435996 \u043c\u04411162 \u043c\u0441\u0414\u043b\u044f \u0434\u043e\u043b\u0433\u043e\u0436\u0438\u0432\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u043d \u0432\u044b\u0433\u043e\u0434\u0435\u043d: \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0440\u0430\u0437, \u0430 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u041a\u043e\u0440\u043e\u0442\u043a\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c \u043f\u043e\u0432\u0435\u0437\u043b\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0441 EF: \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b \u043d\u0430 166 \u043c\u0441, \u0438 \u044d\u0442\u043e \u0443\u0436\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u0430\u044f \u043f\u0440\u0438\u0431\u0430\u0432\u043a\u0430 \u043a \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u043c\u0443 \u0441\u0442\u0430\u0440\u0442\u0443. \u041f\u0440\u0430\u0432\u0434\u0430, \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0435 \u0437\u0430\u043c\u0435\u0440\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 JIT, \u0430 \u0441\u0442\u0430\u0440\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435, \u0442\u0430\u043a \u0447\u0442\u043e \u0443 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0448\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445.\u041e\u0431\u0435 \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u0438 \u0432\u0438\u0434\u043d\u044b \u0438 \u043d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445, \u043d\u043e \u0442\u0430\u043c \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u043c\u0435\u043d\u044c\u0448\u0435, \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0431\u0435\u0437 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430. \u0423\u0432\u0435\u0440\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e LoggerFactory: +49%.\u0411\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u0432 8.0\u0412 \u0441\u043f\u043e\u0440\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0432\u0443\u0447\u0438\u0442 \u00ab\u0434\u043e \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0431\u044b\u043b\u043e \u043b\u0443\u0447\u0448\u0435\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0448\u0430\u0433\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u043c\u0438 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438.\u0427\u0435\u0442\u044b\u0440\u0435 \u0440\u044f\u0434\u0430 \u0442\u043e\u0447\u0435\u043a \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u043c\u0435\u0436\u0434\u0443 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438: \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e 19 \u0441\u0434\u0432\u0438\u0433\u043e\u0432 \u0438\u0437 46 \u043d\u0430 7.0\u21928.0, 5 \u043d\u0430 8.0\u21929.0, 5 \u043d\u0430 9.0\u219210.0 \u0438 6 \u0438\u0437 38 \u043d\u0430 10.0\u219211 RC\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u0435\u0440\u0434\u0438\u043a\u0442\u0430 \u0437\u0434\u0435\u0441\u044c \u0442\u0435 \u0436\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437\u043e\u0439 \u0441\u043b\u0443\u0436\u0438\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0440\u0435\u043b\u0438\u0437: \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f 19 \u0441\u0434\u0432\u0438\u0433\u043e\u0432 \u0438\u0437 46 \u043d\u0430 \u0448\u0430\u0433\u0435 \u043a 8.0, \u043f\u043e 5 \u043d\u0430 \u0448\u0430\u0433\u0430\u0445 \u043a 9.0 \u0438 10.0 \u0438 6 \u0438\u0437 38 \u043d\u0430 \u0448\u0430\u0433\u0435 \u043a 11 RC. \u0428\u0430\u0433 \u043a 10.0 \u043d\u0430 \u0444\u043e\u043d\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f, \u043f\u0440\u0430\u0432\u0434\u0430, \u0430\u0433\u0435\u043d\u0442 \u0437\u0430\u0441\u0442\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.\u041d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 8.0 \u0442\u0430\u043a \u043d\u0435 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f (8, 7, 5 \u0438 6): \u0442\u0430\u043c \u0432\u0441\u0435\u0433\u043e 11 \u0440\u0430\u0443\u043d\u0434\u043e\u0432, \u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \u0432 \u0440\u0430\u0437\u044b \u0448\u0438\u0440\u0435. \u0417\u0430\u0442\u043e \u0448\u0430\u0433 \u043a 11 RC \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442. \u0412 \u043e\u0431\u043e\u0438\u0445 \u0440\u0435\u0436\u0438\u043c\u0430\u0445 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e \u043f\u043e 6 \u0441\u0434\u0432\u0438\u0433\u043e\u0432, \u0438 5 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0438\u0437 6 \u043e\u0431\u0449\u0438\u0435.\u041a \u0441\u0430\u043c\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u043d\u0430 8.0 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u0440\u0430\u0436\u0435\u043d\u0438\u0435. \u041a\u0430\u0436\u0434\u0430\u044f \u043c\u0430\u0436\u043e\u0440\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 \u0441\u0432\u043e\u044e \u0441\u0431\u043e\u0440\u043a\u0443: lib\/net7.0 \u0443 7.x, lib\/net8.0 \u0443 8.x, \u0445\u043e\u0442\u044f \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0432\u0435\u0437\u0434\u0435 .NET 10. \u0417\u043d\u0430\u0447\u0438\u0442, \u0432 \u0448\u0430\u0433 \u0432\u0445\u043e\u0434\u044f\u0442 \u0438 \u0432\u0435\u0442\u043a\u0438 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0430\u0440\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u043d\u0435 \u0432\u0438\u0434\u0438\u0442 \u0434\u0430\u0436\u0435 \u043d\u0430 \u043d\u043e\u0432\u043e\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435. \u042d\u0442\u043e \u0442\u043e\u0436\u0435 \u043a\u043e\u0434 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u043a\u0438 \u0438 \u0441\u043c\u0435\u043d\u0443 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u0442\u0430\u043a\u043e\u0439 \u0434\u0438\u0437\u0430\u0439\u043d \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442.\u041d\u0430 \u0448\u0430\u0433\u0435 \u043a 10.0 \u0432\u044b\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0440\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. new DbContext \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b \u043d\u0430 13%, Compact \u0432 \u043a\u044d\u0448\u0435 \u043f\u043e\u0434\u0435\u0448\u0435\u0432\u0435\u043b \u043d\u0430 13%, \u0430 DetectChanges \u0441\u0442\u0430\u043b \u043d\u0430 19% \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u0432 9.0, \u0438 \u043e\u0442\u0434\u0430\u043b \u0447\u0430\u0441\u0442\u044c \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0430: \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e 7.0 \u0431\u044b\u043b\u043e \u221241%, \u0441\u0442\u0430\u043b\u043e \u221230%.\u0422\u043e, \u0447\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0441\u0434\u0432\u0438\u0433 \u0441\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0440\u0435\u043b\u0438\u0437\u0435 \u043f\u043e\u0441\u043b\u0435 ChatGPT, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e\u0431 \u0443\u0447\u0430\u0441\u0442\u0438\u0438 \u0418\u0418: \u0437\u0430\u043c\u0435\u0440\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442, \u0447\u0442\u043e \u0438 \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c, \u043d\u043e \u043d\u0435 \u043f\u043e\u0447\u0435\u043c\u0443.\u0410\u0433\u0435\u043d\u0442: \u0434\u043e 10.0 \u0432 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430\u0445 DI \u0438 \u043a\u044d\u0448\u0430 \u0435\u0433\u043e \u043d\u0435\u0442, \u0432 11.0 \u043e\u043d \u0442\u0430\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f\u041a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 DI \u0438 Caching.Memory \u043c\u0435\u0436\u0434\u0443 \u0442\u0435\u0433\u0430\u043c\u0438 v7.0.20 \u0438 v10.0.14 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0441 \u0435\u0433\u043e pull request\u2019\u043e\u043c. \u0410\u0433\u0435\u043d\u0442\u0430 \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c: PR \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 GitHub-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 copilot-swe-agent \u0441 id 198982749, \u0430 \u0432 squash-\u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0442\u0440\u0435\u0439\u043b\u0435\u0440 Co-authored-by. \u041d\u0430\u0448\u043b\u043e\u0441\u044c \u0432\u043e\u0442 \u0447\u0442\u043e:113 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432: 57 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0443\u0441\u043b\u043e\u0432\u043d\u043e Microsoft, 56 \u043e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u043e\u0442 \u0430\u0433\u0435\u043d\u0442\u0430 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e, \u0441\u043e\u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0445 \u0441 \u0430\u0433\u0435\u043d\u0442\u043e\u043c \u0442\u043e\u0436\u0435 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e;24 \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u0430, \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0435\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 git log -L: 39 \u043f\u0440\u0430\u0432\u043e\u043a, \u0430\u0433\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0441\u0440\u0435\u0434\u0438 \u043d\u0438\u0445 \u043d\u0435\u0442, \u0430 8 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u0442\u0435\u0433\u0430\u043c\u0438 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0432\u043e\u043e\u0431\u0449\u0435;6 PR \u0441 \u043c\u0435\u0442\u043a\u043e\u0439 tenet-performance, \u0432\u0441\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043b\u044e\u0434\u044c\u043c\u0438.\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u00ab\u043c\u0435\u0442\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u043e\u0433\u0430\u043b \u0430\u0433\u0435\u043d\u0442, \u043f\u0440\u043e\u0442\u0438\u0432 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u043e\u0433\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u044e\u0434\u0438\u00bb \u043d\u0430 \u044d\u0442\u043e\u043c \u043e\u043a\u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c: \u043f\u0435\u0440\u0432\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043f\u0443\u0441\u0442\u0430. \u041d\u043e \u043e\u043a\u043d\u043e \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430 10.0, \u0430 \u043f\u043e\u043b\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0443 \u0430\u0433\u0435\u043d\u0442\u0430 \u0431\u044b\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 11.0. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0434\u043e\u0442\u044f\u043d\u0443\u043b \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u0434\u043e RC3 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u0417\u0434\u0435\u0441\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0432\u0442\u043e\u0440 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0432 Git, \u0431\u0435\u0437 \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0438 \u043d\u0430 Microsoft \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e:\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u04307.0 \u2192 10.0, \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432\u0438\u0437 \u043d\u0438\u0445 \u0430\u0433\u0435\u043d\u044210.0 \u2192 11 RC, \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432\u0438\u0437 \u043d\u0438\u0445 \u0430\u0433\u0435\u043d\u0442DI8002111\u041a\u044d\u0448330141\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f670151Options37070\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u043552183EF Core8672925673\u0427\u0430\u0441\u0442\u044c \u0430\u0433\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 DI \u2014 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0438 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435: \u0438\u0437 11 \u043f\u0440\u0430\u0432\u043e\u043a \u0433\u043e\u0440\u044f\u0447\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 DI \u0438 \u043a\u044d\u0448\u0430 \u0432 \u043d\u043e\u0432\u043e\u043c \u043e\u043a\u043d\u0435 3 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u0430\u0433\u0435\u043d\u0442\u0443. \u0415\u0449\u0451 \u0432 5 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 Options \u0435\u0441\u0442\u044c \u0441\u043e\u0430\u0432\u0442\u043e\u0440 Copilot CLI.\u041e\u0433\u043e\u0432\u043e\u0440\u043a\u0438 \u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0435:\u041d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u0438\u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u043d\u0434\u0435\u0440 \u0438 DI, \u043f\u0440\u043e \u043d\u0438\u0445 \u043d\u0438\u0436\u0435. EF Core \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043d, \u0445\u043e\u0442\u044f \u043f\u0440\u0430\u0432\u043e\u043a \u0430\u0433\u0435\u043d\u0442\u0430 \u0442\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e, \u0430 \u043d\u0430 \u0448\u0430\u0433\u0435 \u043a 10.0 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0441\u0434\u0432\u0438\u043d\u0443\u043b\u0438\u0441\u044c \u0435\u0433\u043e DbContext \u0438 DetectChanges.\u041a\u043e\u043c\u043c\u0438\u0442 \u0430\u0433\u0435\u043d\u0442\u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u00abPR \u043e\u0442\u043a\u0440\u044b\u0442 \u0430\u0433\u0435\u043d\u0442\u043e\u043c\u00bb, \u0430 \u043d\u0435 \u00ab\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0431\u0435\u0437 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\u00bb: \u0442\u0430\u043a\u0438\u0435 PR \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0440\u0435\u0432\u044c\u044e \u0438 \u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043b\u044e\u0434\u044c\u043c\u0438. \u0410\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442 \u0432 IDE \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u043e\u0432 \u0432 Git, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u0431 \u044d\u043f\u043e\u0445\u0435 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0433\u0443\u0442.\u0413\u0440\u0430\u043d\u0438\u0446\u0430 \u044d\u043f\u043e\u0445 \u0443\u0441\u043b\u043e\u0432\u043d\u0430. \u0410\u0432\u0442\u043e\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 Copilot \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0435\u0449\u0451 \u0432 2021 \u0433\u043e\u0434\u0443, \u0442\u0430\u043a \u0447\u0442\u043e \u0438 7.0 \u043c\u043e\u0433 \u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0431\u0435\u0437 \u0418\u0418.\u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Microsoft \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0433\u0440\u0443\u0431\u043e\u0435: \u043e\u043d\u043e \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u043b\u0435 author_association, \u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0441\u043e \u0441\u043a\u0440\u044b\u0442\u044b\u043c \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e\u043c \u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e. \u0412 24 \u043a\u043e\u043c\u043c\u0438\u0442\u0430\u0445 \u0438\u0437 113 \u044d\u0442\u043e \u043f\u043e\u043b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441 \u043f\u043e\u0447\u0442\u043e\u0439 \u043d\u0430 @microsoft.com.\u0421\u0430\u043c\u0430\u044f \u043a\u0440\u0443\u043f\u043d\u0430\u044f \u043f\u0440\u043e\u0441\u0430\u0434\u043a\u0430 \u0432 11 RC \u0441\u0438\u0434\u0438\u0442 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435\u0421\u0442\u043e\u043b\u0431\u0446\u044b \u0434\u043b\u044f \u043f\u044f\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439: \u0432 10.0 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0442 \u043c\u0438\u043d\u0443\u0441 3 \u0434\u043e \u043f\u043b\u044e\u0441 13 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0432 11 RC \u043e\u0442 \u043f\u043b\u044e\u0441 26 \u0434\u043e \u043f\u043b\u044e\u0441 162 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e 7.0 \u0431\u0438\u043d\u0434\u0438\u043d\u0433 POCO \u043d\u0430 50 \u043f\u043e\u043b\u0435\u0439 \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b \u0441 61 \u0434\u043e 145 \u043c\u043a\u0441, IOptionsSnapshot \u0432 \u043d\u043e\u0432\u043e\u043c scope \u2014 \u0441 52 \u0434\u043e 136 \u043c\u043a\u0441. \u0410\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0443 \u043e\u0431\u0435\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u043f\u043e\u0447\u0442\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 10 \u041a\u0411 \u043d\u0430 \u0432\u044b\u0437\u043e\u0432. \u041d\u0430 \u0437\u0430\u0432\u043e\u0434\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0442\u0430 \u0436\u0435: +134% \u0438 +158%.\u041f\u0440\u0438\u0431\u0430\u0432\u043a\u0430 \u0432 10 \u041a\u0411 \u043d\u0430 50 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u043b\u0430\u0442\u0438\u043c \u0437\u0430 \u043a\u0430\u0436\u0434\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e. \u0412 ConfigurationBinder.cs \u043c\u0435\u0436\u0434\u0443 10.0 \u0438 RC3 \u0432\u0441\u0435\u0433\u043e 7 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432, \u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445, #126396 \u0441 \u043d\u043e\u0432\u044b\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c [ConfigurationIgnore], \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443:private static bool IsIgnoredProperty(PropertyInfo property) =&gt;    property.IsDefined(typeof(ConfigurationIgnoreAttribute));\u041e\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0435. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0434\u043e\u0433\u0430\u0434\u043a\u0443, \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u0431\u0438\u043d\u0434\u0435\u0440 \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 RC3 \u0441 \u0437\u0430\u043c\u0435\u043d\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 false \u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u043b \u043e\u0434\u043d\u0443 DLL \u0432 \u0443\u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435. \u0422\u0435 \u0436\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438, 6 \u0440\u0430\u0443\u043d\u0434\u043e\u0432, \u0440\u0435\u0436\u0438\u043c \u0441\u0442\u0435\u043d\u0434\u0430:\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f10.011 RC11 RC, \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u0430\u0411\u0438\u043d\u0434\u0438\u043d\u0433 POCO61 \u043c\u043a\u0441148 \u043c\u043a\u044160 \u043c\u043a\u0441IOptionsSnapshot \u0432 \u043d\u043e\u0432\u043e\u043c scope51 \u043c\u043a\u0441139 \u043c\u043a\u044153 \u043c\u043a\u0441\u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f DataAnnotations43 \u043c\u043a\u044153 \u043c\u043a\u044143 \u043c\u043a\u0441\u0410\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0430 \u043d\u0430 \u0432\u044b\u0437\u043e\u043218,4 \u041a\u041128,4 \u041a\u041118,4 \u041a\u0411\u041e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u0442\u0440\u0438 \u0438\u0437 \u0448\u0435\u0441\u0442\u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0445 \u0441\u0434\u0432\u0438\u0433\u043e\u0432 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0430. \u0425\u043e\u043b\u043e\u0434\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (+76%) \u043e\u043d\u0430 \u043d\u0435 \u043b\u0435\u0447\u0438\u0442, \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043c \u0434\u0440\u0443\u0433\u0430\u044f \u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u044d\u0442\u043e \u0432 BenchmarkDotNet, \u0431\u0435\u0437 \u043c\u043e\u0435\u0433\u043e \u0442\u0440\u0435\u0439\u0441\u0435\u0440\u0430, \u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435:\u0421\u0442\u043e\u043b\u0431\u0446\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438 Get&lt;T&gt;: 10.0 \u2014 29 \u043c\u043a\u0441, 11 RC3 \u2014 120 \u043c\u043a\u0441, RC3 \u0441 inherit false \u0438 \u0431\u0438\u043d\u0434\u0435\u0440 \u0438\u0437 main \u2014 45 \u043c\u043a\u0441, RC3 \u0441 \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u043e\u0439 \u2014 29 \u043c\u043a\u0441, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u2014 12 \u043c\u043a\u0441\u041e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0446\u0435\u043d\u0443 \u0434\u0430\u0451\u0442 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0430-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435: \u0443 \u043d\u0435\u0451 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e inherit: true. \u0421 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-501920","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/501920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=501920"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/501920\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=501920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=501920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=501920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}