{"id":489237,"date":"2026-07-30T20:01:36","date_gmt":"2026-07-30T20:01:36","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=489237"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=489237","title":{"rendered":"\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430\u044f System.Text.Json: \u0442\u0435 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0442\u0435 \u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0434\u043e \u00d74,3 \u0440\u0430\u0437\u043d\u0438\u0446\u044b"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 PropertyNameCaseInsensitive, \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u0432\u044b\u0432\u043e\u0434\u044b.<\/p>\n<p>\u0424\u0440\u043e\u043d\u0442 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u0435\u0442 camelCase, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 C# \u043d\u0430\u0437\u0432\u0430\u043d\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u0443\u043a\u0432\u044b. \u041f\u0440\u0438\u043d\u044f\u0442\u044c \u0442\u0430\u043a\u043e\u0439 JSON \u043c\u043e\u0436\u043d\u043e \u0434\u0432\u0443\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438:<\/p>\n<ul>\n<li>\n<p>PropertyNameCaseInsensitive = true \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430;<\/p>\n<\/li>\n<li>\n<p><code>PropertyNamingPolicy = JsonNamingPolicy.CamelCase<\/code> \u2014 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u043c\u0435\u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043a camelCase, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0441\u043e\u0432\u043f\u0430\u043b\u0438 \u0441 \u043a\u043b\u044e\u0447\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u043d\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435: 0,92\u20131,09 \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445, \u0442\u0440\u0451\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445 \u0438 \u0442\u0440\u0451\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e JSON. \u0420\u0430\u0437\u043d\u0438\u0446\u0443 \u0434\u043e \u00d74,3 \u0434\u0430\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0435: \u044d\u0442\u043e\u0442 \u0436\u0435 <code>JsonSerializerOptions<\/code> \u0443\u0436\u0435 \u0447\u0438\u0442\u0430\u043b \u0442\u0435 \u0436\u0435 \u043a\u043b\u044e\u0447\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435. \u041f\u043e \u0447\u0435\u0442\u044b\u0440\u0451\u043c \u043c\u0430\u0448\u0438\u043d\u0430\u043c 3,18\u20134,28.<\/p>\n<p><strong>\u0411\u0443\u0434\u0435\u0442 5 \u0438\u0441\u0442\u043e\u0440\u0438\u0439:<\/strong><\/p>\n<ul>\n<li>\n<p>\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433, \u0435\u0441\u043b\u0438 \u043a\u043b\u044e\u0447\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0432 \u044d\u0442\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0442\u0435\u0445 \u0436\u0435 \u043a\u043b\u044e\u0447\u0435\u0439;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u044b\u0432 \u0441\u0442\u0430\u043b \u0437\u0430\u043c\u0435\u0442\u0435\u043d, \u0438 \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043e\u043d \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u0438\u0437 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043a\u0435\u0448 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443\u0436\u0435 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435;<\/p>\n<\/li>\n<li>\n<p>\u0432\u043b\u0438\u044f\u0435\u0442 \u043b\u0438 \u043d\u0430 \u044d\u0442\u043e \u0434\u043b\u0438\u043d\u0430 \u0438\u043c\u0451\u043d.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u043e\u0434 \u2014 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 <a href=\"https:\/\/github.com\/ComboxSoftDeveloper\/JsonKeyProof\" rel=\"noopener noreferrer nofollow\">JsonKeyProof<\/a>. \u0427\u0435\u0442\u044b\u0440\u0435 \u043c\u0430\u0448\u0438\u043d\u044b:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u2116<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>CPU<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u042f\u0434\u0440\u0430\/\u043f\u043e\u0442\u043e\u043a\u0438<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0427\u0430\u0441\u0442\u043e\u0442\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041e\u0421<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u21161<\/p>\n<\/td>\n<td>\n<p align=\"left\">AMD Ryzen 9   5950X<\/p>\n<\/td>\n<td>\n<p align=\"left\">16 \/ 32<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,4 \u0413\u0413\u0446, \u0434\u043e 4,9   \u0432 \u0442\u0443\u0440\u0431\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">Windows 10 1809<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u21162<\/p>\n<\/td>\n<td>\n<p align=\"left\">Intel Core   i9-10900KF<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 \/ 20<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,7 \u0413\u0413\u0446, \u0434\u043e 5,3   \u0432 \u0442\u0443\u0440\u0431\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">Windows 10 22H2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u21163<\/p>\n<\/td>\n<td>\n<p align=\"left\">2 \u00d7 Intel Xeon   Silver 4314<\/p>\n<\/td>\n<td>\n<p align=\"left\">2\u00d716 \/ 64<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,4 \u0413\u0413\u0446, \u0434\u043e 3,4   \u0432 \u0442\u0443\u0440\u0431\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">Windows Server   2022<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u21164<\/p>\n<\/td>\n<td>\n<p align=\"left\">Intel Xeon   W-2255<\/p>\n<\/td>\n<td>\n<p align=\"left\">10 \/ 20<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,7 \u0413\u0413\u0446, \u0434\u043e 4,5   \u0432 \u0442\u0443\u0440\u0431\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">Windows Server   2022<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>BenchmarkDotNet 0.15.8, Release, .NET 8, 9 \u0438 10. \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e .NET 10, \u043e\u0442\u043b\u0438\u0447\u0438\u044f \u043d\u0430 \u0432\u043e\u0441\u044c\u043c\u0451\u0440\u043a\u0435 \u0438 \u0434\u0435\u0432\u044f\u0442\u043a\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e \u0432 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0438 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u0445. \u041f\u043e\u043b\u043d\u044b\u0435 \u043e\u0442\u0447\u0451\u0442\u044b \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438.<\/p>\n<h2>\u0418\u0441\u0442\u043e\u0440\u0438\u044f 1. \u0427\u0442\u043e \u0434\u0430\u0451\u0442 \u0444\u043b\u0430\u0433, \u0435\u0441\u043b\u0438 \u0432\u0435\u0441\u044c JSON \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435<\/h2>\n<p>\u041e\u0431\u044a\u0435\u043a\u0442 \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0442\u0438\u043f\u0430 int, \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u043e 2\u20134 \u0431\u0430\u0439\u0442\u0430. \u041d\u0430\u0431\u043e\u0440\u044b JSON \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0435\u0439, \u0430 \u043f\u043e \u0434\u043b\u0438\u043d\u0435 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0432\u0435\u0440\u043a\u0430 \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u043c.<\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c <code>JsonSerializerOptions<\/code>. \u041e\u0434\u043d\u0438\u043c \u0442\u0443\u0442 \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c: \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u0430 \u043b\u0435\u0436\u0430\u0442 \u043d\u0435 \u0432 \u0441\u0430\u043c\u043e\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0435, \u0430 \u0432 \u043e\u0431\u0449\u0435\u043c \u043a\u0435\u0448\u0435. \u041a\u043b\u044e\u0447 \u043a \u044d\u0442\u043e\u043c\u0443 \u043a\u0435\u0448\u0443 \u2014 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0432\u0430 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 <code>JsonTypeInfo<\/code>.<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/JsonSerializerOptions.Caching.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043e\/\/\/ Context can be shared across multiple equivalent options instances.internal CachingContext CacheContextpublic static CachingContext GetOrCreate(JsonSerializerOptions options){    int hashCode = s_optionsComparer.GetHashCode(options);    \/\/ ... \u043f\u043e\u0438\u0441\u043a \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434\u0443}public bool Equals(JsonSerializerOptions? left, JsonSerializerOptions? right){    return        left._jsonPropertyNamingPolicy == right._jsonPropertyNamingPolicy &amp;&amp;        left._propertyNameCaseInsensitive == right._propertyNameCaseInsensitive &amp;&amp;        left._typeInfoResolver == right._typeInfoResolver &amp;&amp;        \/\/ ... \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0420\u0435\u0437\u043e\u043b\u0432\u0435\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0432\u043e\u0439 <code>DefaultJsonTypeInfoResolver<\/code> \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u043c\u0438. \u0421\u0432\u0435\u0440\u043a\u0430 \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u043c \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0438\u043d\u0430\u0447\u0435 \u0437\u0430\u043c\u0435\u0440 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f.<\/p>\n<pre><code class=\"cs\">\/\/ JsonKeyProof, Subjects.cspublic static readonly JsonSerializerOptions OwnCamel = new(){    PropertyNameCaseInsensitive = true,    TypeInfoResolver = new DefaultJsonTypeInfoResolver()};<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0444\u043b\u0430\u0433 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440,   \u0444\u043b\u0430\u0433 \u0432\u043a\u043b\u044e\u0447\u0451\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,97<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,08<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,03<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">camelCase, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,98<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,06<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">camelCase,   \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,07<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u041d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439 \u2014 \u0441\u0432\u043e\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a<\/em><\/p>\n<p>\u0418\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>\u0444\u043b\u0430\u0433 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439 \u0441\u043e\u0432\u043f\u0430\u043b: 0,97\u20131,08;<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u043b \u2014 \u0442\u043e\u0436\u0435: 1,00\u20131,03 \u043d\u0430 \u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0425;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 camelCase \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435: 0,98\u20131,06;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u0451\u0442 0,99\u20131,07.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u21164 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0434\u043e\u0445\u043e\u0434\u0438\u0442 \u0434\u043e 8%, \u043d\u043e \u0434\u043e 1,07 \u0442\u0430\u043c \u0434\u043e\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442 \u0438 \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f, \u0433\u0434\u0435 \u0444\u043b\u0430\u0433\u0430 \u043d\u0435\u0442 \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u0431\u0440\u043e\u0441 \u043c\u0430\u0448\u0438\u043d\u044b. \u041d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0451\u0445 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 3%. \u041d\u0430 \u0432\u0441\u0435\u0445 \u0442\u0440\u0451\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445 \u0438 \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e JSON \u043b\u044e\u0431\u0430\u044f \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0441\u0442\u0440\u043e\u043a \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 0,92\u20131,09.<\/p>\n<p>\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0438\u0449\u0435\u0442\u0441\u044f \u0432 \u0434\u0432\u0430 \u0437\u0430\u0445\u043e\u0434\u0430: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443, \u0433\u0434\u0435 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043b\u044e\u0447\u0430 \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043f\u0440\u043e\u043c\u0430\u0445\u0435 \u2014 \u043f\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044e \u0438\u043c\u0451\u043d.<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.Cache.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eprivate PropertyRef[] _utf8PropertyCache = [];internal JsonPropertyInfo? GetProperty(ReadOnlySpan&lt;byte&gt; propertyName, ref ReadStackFrame frame, out byte[] utf8PropertyName){    \/\/ The logic can be broken up into roughly three stages:    \/\/ 1. Look up the UTF-8 property cache for potential exact matches in the encoding.    \/\/ 2. If no match is found, decode to UTF-16 and look up the primary dictionary.    \/\/ 3. Store the new result for potential inclusion to the UTF-8 cache once deserialization is complete.    PropertyRef[] utf8PropertyCache = _utf8PropertyCache;    ReadOnlySpan&lt;PropertyRef&gt; utf8PropertyCacheSpan = utf8PropertyCache;    ulong key = PropertyRef.GetKey(propertyName);    \/\/ ... \u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0437\u0430\u043f\u0438\u0441\u0435\u0439    \/\/ No cached item was found. Try the main dictionary which has all of the properties.    if (PropertyIndex.TryLookupUtf8Key(propertyName, out JsonPropertyInfo? info) &amp;&amp;        (!Options.PropertyNameCaseInsensitive || propertyName.SequenceEqual(info.NameAsUtf8Bytes)))    {        \/\/ We have an exact match in UTF8 encoding.        utf8PropertyName = info.NameAsUtf8Bytes;    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0414\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0444\u043b\u0430\u0433 \u043d\u0435 \u0434\u043e\u0445\u043e\u0434\u0438\u0442. \u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u0442\u0430\u0445, \u0438 \u043e\u0431\u0430 \u043d\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043b\u044e\u0447\u0435: \u0441\u0432\u0435\u0440\u043a\u0430 <code>SequenceEqual<\/code> \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u0438 \u0432\u044b\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044f. \u041a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043d\u0430 \u0442\u0438\u043f, \u043a\u043e\u0433\u0434\u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043einternal void ConfigureProperties(){    \/\/ ... \u0441\u0431\u043e\u0440 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0442\u0438\u043f\u0430    StringComparer comparer = Options.PropertyNameCaseInsensitive ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal;    Dictionary&lt;string, JsonPropertyInfo&gt; propertyIndex = new(properties.Count, comparer);}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0435\u0449\u0451 \u0440\u0430\u043d\u044c\u0448\u0435 \u2014 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 JsonPropertyInfo, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0442\u0438\u043f\u0430.<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime,\/\/ System\/Text\/Json\/Serialization\/Metadata\/DefaultJsonTypeInfoResolver.Helpers.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eprivate static void DeterminePropertyName(JsonPropertyInfo propertyInfo, MemberInfo memberInfo){    JsonPropertyNameAttribute? nameAttribute = memberInfo.GetCustomAttribute&lt;JsonPropertyNameAttribute&gt;(inherit: false);    string? name;    if (nameAttribute != null)    {        name = nameAttribute.Name;    }    else if (propertyInfo.Options.PropertyNamingPolicy != null)    {        name = propertyInfo.Options.PropertyNamingPolicy.ConvertName(memberInfo.Name);    }    else    {        name = memberInfo.Name;    }    propertyInfo.Name = name;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b, \u043d\u043e \u043d\u0435 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f. <a href=\"https:\/\/learn.microsoft.com\/dotnet\/api\/system.text.json.jsonserializeroptions.propertynamecaseinsensitive\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0437\u0434\u0435\u043b Remarks \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 PropertyNameCaseInsensitive<\/a>:<\/p>\n<pre><code class=\"cs\">\/\/ learn.microsoft.com, JsonSerializerOptions.PropertyNameCaseInsensitiveThere is a performance cost associated with case-insensitive comparison<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043d\u043e\u0435 \u2014 \u0440\u0435\u0447\u044c \u043f\u0440\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0432\u0435\u0442\u043a\u0443. \u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0435\u0441\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 <a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/35848\" rel=\"noopener noreferrer nofollow\">dotnet\/runtime #35848<\/a>, \u0433\u0434\u0435 \u044d\u0442\u043e\u0442 \u043f\u043e\u0438\u0441\u043a \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043b\u0438 \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439: \u0435\u0441\u043b\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u0439 JSON \u0443\u0436\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0434\u0430\u0451\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 camelCase, \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u0430 \u043e\u0442 \u043f\u0440\u0430\u0432\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u2014 \u043f\u0440\u043e\u043c\u0430\u0445\u043e\u0432 \u043d\u0435\u0442. \u041e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0435, \u0432\u0440\u0435\u043c\u0451\u043d .NET 5, \u043d\u043e \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u0438\u0441\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438: \u0432\u0441\u0435 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u0437\u044f\u0442\u044b \u0438\u0437 \u0432\u0435\u0442\u043a\u0438 release\/10.0. \u041e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d.<\/p>\n<p>\u041f\u043e\u043a\u0430 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439, \u0444\u043b\u0430\u0433 \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442.<\/p>\n<p><a href=\"http:\/\/ASP.NET\" rel=\"noopener noreferrer nofollow\">ASP.NET<\/a> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Web, \u0430 \u0442\u0430\u043c \u0443\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0438 \u0444\u043b\u0430\u0433, \u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430:<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/JsonSerializerOptions.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043epublic JsonSerializerOptions(JsonSerializerDefaults defaults) : this(){    if (defaults == JsonSerializerDefaults.Web)    {        _propertyNameCaseInsensitive = true;        _jsonPropertyNamingPolicy = JsonNamingPolicy.CamelCase;        _numberHandling = JsonNumberHandling.AllowReadingFromString;    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f camelCase, \u0432\u0445\u043e\u0434\u043d\u043e\u0439 camelCase \u0441 \u043d\u0438\u043c\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442, \u0438 \u0432 \u043a\u0435\u0448 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0432\u0435\u0431-\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u2014 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442 \u0432\u0442\u043e\u0440\u043e\u0439.<\/p>\n<p>\u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430, \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,91<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,93<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,97<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,04<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,06<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,10<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,04<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,05<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,05<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415 \u0441   \u0444\u043b\u0430\u0433\u043e\u043c, \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,97<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,03<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415 \u0441   \u0444\u043b\u0430\u0433\u043e\u043c, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,98<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,96<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,93<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,94<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10<\/em><\/p>\n<p>\u0420\u0430\u0437\u0431\u043e\u0440 \u0447\u0435\u0440\u0435\u0437 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 0,91\u20131,03 \u043e\u0442 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044e \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u0438\u0441\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 \u043e\u0431\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442 \u2014 \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0451 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445.<\/p>\n<h3>\u0418\u0441\u0442\u043e\u0440\u0438\u044f 2. \u0427\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440<\/h3>\n<p>\u0412\u0441\u0451 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0435 \u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0421\u043b\u0443\u0436\u0431\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 JSON \u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0434\u043d\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0444\u043b\u0430\u0433 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440,   \u0444\u043b\u0430\u0433 \u0432\u043a\u043b\u044e\u0447\u0451\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,03<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,17<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,37<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,47<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,34<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">camelCase, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,45<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,57<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,80<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,76<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">camelCase,   \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,05<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. <\/em>\u041e\u0434\u0438\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043d\u0430 \u0432\u0441\u0435 \u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430<\/p>\n<p>\u0418\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>\u0444\u043b\u0430\u0433 \u043f\u0440\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442: 1,00\u20131,03;<\/p>\n<\/li>\n<li>\n<p>\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415 \u043f\u043e\u043f\u0430\u043b\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0442\u043e\u0440\u044b\u043c\u0438 \u2014 1,17\u20131,47;<\/p>\n<\/li>\n<li>\n<p>camelCase \u043f\u043e\u043f\u0430\u043b \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u2014 1,45\u20131,80;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u0451\u0442 0,99\u20131,05 \u2014 \u043a\u0430\u043a \u0440\u0430\u0437\u0431\u043e\u0440 \u0431\u0435\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0442\u0440\u043e\u043a\u0430 \u0441 camelCase \u2014 \u0442\u043e\u0442 \u0436\u0435 \u0432\u044b\u0437\u043e\u0432 \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e \u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u0433\u0434\u0435 \u043e\u043d \u0434\u0430\u043b 0,98\u20131,06. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u044f\u043c, \u0444\u043b\u0430\u0433 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0435 \u0436\u0435. \u041e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e, \u0447\u0442\u043e \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0438\u0442\u0430\u043b\u0438 \u0440\u0430\u043d\u044c\u0448\u0435. \u0417\u043d\u0430\u0447\u0438\u0442 \u0434\u0435\u043b\u043e \u043d\u0435 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435.<\/p>\n<p>\u0427\u0442\u043e \u0443\u0441\u043f\u0435\u043b\u043e \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0451\u0442 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code class=\"cs\">\/\/ JsonKeyProof, \u0432\u044b\u0432\u043e\u0434 dotnet run -c Release -f net10.0 -- cache=== \u0412\u043e\u0441\u0435\u043c\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430: \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u043a\u0435\u0448\u0435 ===\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438                               \u0427\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0438\u0445 \u043f\u0440\u043e\u0448\u043b\u043e                \u0417\u0430\u043f\u0438\u0441\u0435\u0439Plain                                   \u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0431\u0435\u0437 \u0444\u043b\u0430\u0433\u0430                 8OwnExact                                \u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440                            8OwnUpper                                \u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415                                 8OwnCamel                                camelCase                                 8Policy                                  camelCase, \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f            8Shared                                  \u0432\u0441\u0435 \u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430                         24<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>24 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u043c\u0435\u0441\u0442\u043e 8 \u2014 \u044d\u0442\u043e \u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u043f\u043e \u0432\u043e\u0441\u0435\u043c\u044c \u043a\u043b\u044e\u0447\u0435\u0439. \u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043e\u043d\u0438 \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 <code>Id<\/code>, <code>ID<\/code> \u0438 <code>id<\/code> \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0442\u0440\u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/PropertyRef.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043e\/\/\/ PropertyRefs use byte sequence equality, so equal JSON strings with alternate encodings or casings are not equal.\/\/ The key is a ulong (8 bytes) containing the first 7 bytes of the property name\/\/ followed by a byte representing the length.private const int PropertyNameKeyLength = 7;public bool Equals(ReadOnlySpan&lt;byte&gt; propertyName, ulong key){    \/\/ If the property name is less than 8 bytes, it is embedded in the key so no further comparison is necessary.    return key == Key &amp;&amp; (propertyName.Length &lt;= PropertyNameKeyLength || propertyName.SequenceEqual(Utf8PropertyName));}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0431\u0445\u043e\u0434 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u043d\u0435 \u0441 \u043d\u0443\u043b\u044f, \u0430 \u0441 \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435, \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0438\u0434\u0451\u0442 \u0432 \u043e\u0431\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b:<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.Cache.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043e\/\/ Start with the current property index, and then go forwards\\backwards.int propertyIndex = frame.PropertyIndex;int count = utf8PropertyCacheSpan.Length;int iForward = Math.Min(propertyIndex, count);int iBackward = iForward - 1;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 frame.PropertyIndex, \u0432\u0438\u0434\u043d\u043e <a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/release\/10.0\/src\/libraries\/System.Text.Json\/src\/System\/Text\/Json\/Serialization\/JsonSerializer.Read.HandlePropertyName.cs\" rel=\"noopener noreferrer nofollow\">\u043d\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435<\/a>: \u044d\u0442\u043e \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438 \u0440\u0430\u0441\u0442\u0451\u0442 \u043e\u043d \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u043a\u043b\u044e\u0447\u0435.<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime,\/\/ System\/Text\/Json\/Serialization\/JsonSerializer.Read.HandlePropertyName.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eJsonPropertyInfo? jsonPropertyInfo = jsonTypeInfo.GetProperty(    unescapedPropertyName,    ref state.Current,    out byte[] utf8PropertyName);\/\/ Increment PropertyIndex so GetProperty() checks the next property first when called again.state.Current.PropertyIndex++;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime,\/\/ System\/Text\/Json\/Serialization\/Metadata\/PropertyRefCacheBuilder.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043epublic PropertyRef[] ToArray() =&gt; [.. OriginalCache, .. _propertyRefs];public void TryAdd(PropertyRef propertyRef){    if (_added.Add(propertyRef))    {        _propertyRefs.Add(propertyRef);    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041d\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0435\u0446, \u0441\u0442\u0430\u0440\u044b\u0435 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445. \u041e\u0442\u0441\u044e\u0434\u0430 \u0438 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 \u043a\u0435\u0448\u0435 \u043f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432:<\/p>\n<ul>\n<li>\n<p>\u043f\u0435\u0440\u0432\u044b\u0435 8 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u2014 \u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 8 \u2014 \u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 8 \u2014 camelCase.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043a\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043e\u0434\u0438\u043d, \u043f\u043e\u0438\u0441\u043a \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0448\u0430\u0433\u0430: \u0442\u0440\u0435\u0442\u044c\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0441\u0442\u043e\u0438\u0442 \u0432 \u043a\u0435\u0448\u0435 \u0442\u0440\u0435\u0442\u044c\u0438\u043c. \u0420\u0435\u0433\u0438\u0441\u0442\u0440, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0439 \u0442\u0440\u0435\u0442\u044c\u0438\u043c, \u043e\u0442\u043e\u0434\u0432\u0438\u043d\u0443\u0442 \u043d\u0430 16 \u043f\u043e\u0437\u0438\u0446\u0438\u0439 \u2014 \u044d\u0442\u043e 16 \u0448\u0430\u0433\u043e\u0432. \u0422\u043e\u0442, \u0447\u0442\u043e \u043f\u043e\u043f\u0430\u043b \u0432\u0442\u043e\u0440\u044b\u043c, \u2014 8 \u0448\u0430\u0433\u043e\u0432, \u0438 \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u043d\u044c\u0448\u0435: 1,17\u20131,47 \u043f\u0440\u043e\u0442\u0438\u0432 1,45\u20131,80.<\/p>\n<p>\u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u043d\u044f\u0442\u044c, \u043c\u043d\u043e\u0433\u043e \u044d\u0442\u043e \u0438\u043b\u0438 \u043c\u0430\u043b\u043e \u043d\u0430 \u0444\u043e\u043d\u0435 \u0432\u0441\u0435\u0433\u043e \u0440\u0430\u0437\u0431\u043e\u0440\u0430.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0430\u043c, \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e   \u0442\u043e\u043a\u0435\u043d\u0430\u043c, \u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,05<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,95<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043f\u0440\u043e\u0445\u043e\u0434 \u0441\u043e   \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,06<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,05<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,08<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043f\u043e\u043b\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440,   \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,28<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,46<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,06<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,21<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043f\u043e\u043b\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440,   \u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,31<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,69<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,37<\/p>\n<\/td>\n<td>\n<p align=\"left\">2,40<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u041f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0430\u043c \u0438\u0434\u0451\u0442 \u0447\u0435\u0440\u0435\u0437 Utf8JsonReader, \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u0442\u0438\u043f\u0443<\/em><\/p>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 2,06\u20132,46 \u0440\u0430\u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0430\u043c \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043d\u0430\u0431\u043e\u0440\u043e\u043c. \u0417\u043d\u0430\u0447\u0438\u0442 51\u201359% \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0443\u0445\u043e\u0434\u0438\u0442 \u043d\u0435 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0431\u0430\u0439\u0442, \u0430 \u043d\u0430 \u0432\u0441\u0451 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043e\u0431\u0445\u043e\u0434 \u043a\u0435\u0448\u0430 \u0438\u043c\u0451\u043d.<\/p>\n<p>\u0420\u0430\u0437\u0440\u044b\u0432 \u0434\u0430\u0451\u0442 \u043d\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439, \u0430 \u0442\u043e, \u043a\u0430\u043a\u0438\u043c \u043f\u043e \u0441\u0447\u0451\u0442\u0443 \u043e\u043d \u043f\u043e\u043f\u0430\u043b \u0432 \u043a\u0435\u0448.<\/p>\n<p>\u041d\u0430 \u0432\u043e\u0441\u044c\u043c\u0438 int \u0440\u0430\u0437\u0431\u043e\u0440 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e\u0447\u0442\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442. \u041d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, \u0434\u0430\u0442\u043e\u0439 \u0438 \u0434\u0440\u043e\u0431\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u043d\u044c\u0448\u0435. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0441\u0432\u043e\u0438, \u0438\u0445 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 <a href=\"https:\/\/github.com\/bchavez\/Bogus\" rel=\"noopener noreferrer nofollow\">Bogus<\/a> \u0441 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u0438\u0434\u043e\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u043a \u043f\u0440\u043e\u0433\u043e\u043d\u0443.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0444\u043b\u0430\u0433 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">camelCase, \u0441\u0432\u043e\u0439   \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">camelCase, \u043e\u0431\u0449\u0438\u0439   \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,24<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,25<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,25<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,28<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">camelCase,   \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,03<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,06<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u0412\u043e\u0441\u0435\u043c\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432: \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430, \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u0434\u0430\u0442\u0430, \u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a<\/em><\/p>\n<p>1,24\u20131,28 \u0432\u043c\u0435\u0441\u0442\u043e 1,45\u20131,80. \u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u043e \u0436\u0435, \u0440\u0430\u0437\u0440\u044b\u0432 \u043c\u0435\u043d\u044c\u0448\u0435 \u0432 1,9\u20133,2 \u0440\u0430\u0437\u0430.<\/p>\n<h3>\u0418\u0441\u0442\u043e\u0440\u0438\u044f 3. \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0432 \u043a\u0435\u0448\u0435 \u0438 \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043d\u0443\u0436\u043d\u044b\u0439<\/h3>\n<p>\u0412\u043e\u0441\u0435\u043c\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u0438\u043c\u0435\u043d\u0430 \u0440\u043e\u0432\u043d\u043e \u043f\u043e 7 \u0431\u0430\u0439\u0442. \u0414\u043b\u0438\u043d\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e. \u0418\u0437 \u0441\u0435\u043c\u0438 \u0431\u0443\u043a\u0432 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 128 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0430 \u0442\u043e\u0447\u043d\u044b\u043c, \u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u041c\u0418 \u0438 camelCase \u0434\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u0430 \u043a\u0435\u0448\u0430 \u043d\u0435 \u0434\u043e\u0439\u0442\u0438. \u0418 7 \u0431\u0430\u0439\u0442 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u043e\u0441\u044c\u043c\u0438\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0437\u0430\u043f\u0438\u0441\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0447\u0438\u0441\u043b\u043e, \u0431\u0435\u0437 \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0439 \u0441\u0432\u0435\u0440\u043a\u0438 \u0438\u043c\u0435\u043d\u0438.<\/p>\n<p>\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u043e\u043c\u0435\u0440 k \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a: \u043f\u0435\u0440\u0435\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0442\u0435\u0445 \u0431\u0443\u043a\u0432, \u0447\u0435\u0439 \u0431\u0438\u0442 \u0441\u0442\u043e\u0438\u0442 \u0432 \u0447\u0438\u0441\u043b\u0435 k. \u041f\u0435\u0440\u0432\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0434\u0432\u0430, \u0434\u0430\u043b\u044c\u0448\u0435 \u0442\u0440\u0438, \u0432\u043e\u0441\u0435\u043c\u044c \u0438 \u0434\u0435\u0432\u044f\u0442\u044c. \u0427\u0438\u0442\u0430\u0435\u043c \u0432\u0441\u044f\u043a\u0438\u0439 \u0440\u0430\u0437 \u0442\u0435\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043f\u0430\u043b \u0432 \u043a\u0435\u0448 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c. \u041f\u043e\u043b\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u2014 \u0442\u043e\u0442 \u0436\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440, \u043d\u043e \u0447\u0438\u0442\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u043c.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e67\/172\/a44\/e67172a44054a6976bb0809b626b1167.png\" alt=\"\u041e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2014 0,98\u20131,02, \u0442\u0440\u0438 \u2014 1,49\u20131,91, \u0434\u0435\u0432\u044f\u0442\u044c \u2014 3,96\u20136,96. \u041f\u043e\u043b\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043d\u0430 \u0442\u0440\u0451\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0432\u044b\u043c, \u2014 0,98\u20131,07\" title=\"\u041e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2014 0,98\u20131,02, \u0442\u0440\u0438 \u2014 1,49\u20131,91, \u0434\u0435\u0432\u044f\u0442\u044c \u2014 3,96\u20136,96. \u041f\u043e\u043b\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043d\u0430 \u0442\u0440\u0451\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0432\u044b\u043c, \u2014 0,98\u20131,07\" width=\"1320\" height=\"675\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e67\/172\/a44\/e67172a44054a6976bb0809b626b1167.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e67\/172\/a44\/e67172a44054a6976bb0809b626b1167.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u041e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2014 0,98\u20131,02, \u0442\u0440\u0438 \u2014 1,49\u20131,91, \u0434\u0435\u0432\u044f\u0442\u044c \u2014 3,96\u20136,96. \u041f\u043e\u043b\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u043d\u0430 \u0442\u0440\u0451\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0432\u044b\u043c, \u2014 0,98\u20131,07<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0437 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>\u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043e\u0442 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0431\u0435\u0437 \u0444\u043b\u0430\u0433\u0430 \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f: 0,98\u20131,02;<\/p>\n<\/li>\n<li>\n<p>\u0432\u0442\u043e\u0440\u043e\u0439 \u2014 1,31\u20131,52;<\/p>\n<\/li>\n<li>\n<p>\u0442\u0440\u0435\u0442\u0438\u0439, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0432\u044b\u043c, \u2014 0,98\u20131,07;<\/p>\n<\/li>\n<li>\n<p>\u043e\u043d \u0436\u0435, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u0442\u0440\u0435\u0442\u044c\u0438\u043c, \u2014 1,49\u20131,91;<\/p>\n<\/li>\n<li>\n<p>\u0432\u043e\u0441\u044c\u043c\u043e\u0439 \u2014 2,94\u20134,25;<\/p>\n<\/li>\n<li>\n<p>\u0434\u0435\u0432\u044f\u0442\u044b\u0439 \u2014 3,96\u20136,96.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0440\u0435\u0442\u0438\u0439 \u0438 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 \u0441\u043d\u044f\u0442\u044b \u043e\u0434\u043d\u0438\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0417\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u043a\u0435\u0448\u0435 \u043f\u043e\u0440\u043e\u0432\u043d\u0443, 24, \u043d\u0430\u0431\u043e\u0440\u044b \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c \u0431\u0443\u043a\u0432 \u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u043e \u0434\u043b\u0438\u043d\u0435 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445. \u0427\u0438\u0442\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u2014 0,98\u20131,07, \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u2014 1,49\u20131,91. \u0420\u0430\u0437\u043c\u0435\u0440 \u043a\u0435\u0448\u0430 \u0442\u0443\u0442 \u043d\u0438 \u043f\u0440\u0438 \u0447\u0451\u043c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u044f.<\/p>\n<p>\u041e\u0434\u043d\u0430 \u0442\u043e\u0447\u043a\u0430 \u0432\u044b\u043f\u0430\u0434\u0430\u0435\u0442: \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u21161 \u0432\u043e\u0441\u044c\u043c\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u0430\u043b 4,25 \u043f\u0440\u0438 2,74 \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 \u0438 2,75 \u043d\u0430 \u0441\u0442\u0430 \u0442\u044b\u0441\u044f\u0447\u0430\u0445 \u2014 \u0442\u0430 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0430, \u0442\u043e\u0442 \u0436\u0435 \u0440\u0430\u043d\u0442\u0430\u0439\u043c. \u041d\u0430 .NET 8 \u0438 .NET 9 \u044d\u0442\u0430 \u0436\u0435 \u043c\u0430\u0448\u0438\u043d\u0430 \u0434\u0430\u0451\u0442 2,77. \u0418\u0437 \u0442\u0440\u0438\u0434\u0446\u0430\u0442\u0438 \u0448\u0435\u0441\u0442\u0438 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0439 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430, \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438 \u043c\u0430\u0448\u0438\u043d\u044b 8-\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 9-\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0443\u0442. \u0412\u0435\u0440\u0445\u043d\u044f\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 2,94\u20134,25 \u0432\u0437\u044f\u0442\u0430 \u0441 \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u2014 \u043f\u043e \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c \u0442\u0440\u0451\u043c \u043c\u0430\u0448\u0438\u043d\u0430\u043c \u043e\u043d \u0434\u0430\u0451\u0442 2,94\u20133,96.<\/p>\n<p>\u0421 9-\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043a \u0440\u0430\u0437\u0440\u044b\u0432\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438: 71,38 \u041a\u0411 \u0432\u043e \u0432\u0441\u0435\u0445 \u0442\u043e\u0447\u043a\u0430\u0445, \u043a\u0440\u043e\u043c\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439, \u0438 321,38 \u041a\u0411 \u0432 \u043d\u0435\u0439. \u041a\u0435\u0448 \u0432\u043c\u0435\u0449\u0430\u0435\u0442 64 \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime,\/\/ System\/Text\/Json\/Serialization\/Metadata\/PropertyRefCacheBuilder.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043epublic const int MaxCapacity = 64;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0414\u043e\u0439\u0434\u044f \u0434\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u0430, \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u043f\u043e\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u0435\u0448:<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.Cache.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043e\/\/ Assuming there is capacity, store the new result for potential\/\/ inclusion to the UTF-8 cache once deserialization is complete.ref PropertyRefCacheBuilder? cacheBuilder = ref frame.PropertyRefCacheBuilder;if ((cacheBuilder?.TotalCount ?? utf8PropertyCache.Length) &lt; PropertyRefCacheBuilder.MaxCapacity){    (cacheBuilder ??= new(utf8PropertyCache)).TryAdd(new(key, info, utf8PropertyName));}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412\u043e\u0441\u0435\u043c\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e \u0432\u043e\u0441\u0435\u043c\u044c \u043a\u043b\u044e\u0447\u0435\u0439 \u2014 \u0440\u043e\u0432\u043d\u043e 64 \u0437\u0430\u043f\u0438\u0441\u0438. \u0414\u043b\u044f 9-\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0443\u0436\u0435 \u043d\u0435\u0442: \u043b\u044e\u0431\u043e\u0439 \u043a\u043b\u044e\u0447 \u0432 \u043b\u044e\u0431\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0432\u0435\u0441\u044c \u043a\u0435\u0448 \u0432\u043f\u0443\u0441\u0442\u0443\u044e, \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0430 \u0438\u043c\u044f \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432.<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.Cache.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eelse{    \/\/ Make a copy of the original Span.    utf8PropertyName = propertyName.ToArray();}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>8000 \u043a\u043b\u044e\u0447\u0435\u0439 \u043d\u0430 1000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, 250 \u041a\u0411 \u2014 32 \u0431\u0430\u0439\u0442\u0430 \u043d\u0430 \u043a\u043b\u044e\u0447. \u0421\u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u043a\u0443\u0447\u0435 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u0437 \u0441\u0435\u043c\u0438 \u0431\u0430\u0439\u0442 \u043d\u0430 x64: 16 \u0431\u0430\u0439\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430, 8 \u043d\u0430 \u0434\u043b\u0438\u043d\u0443, 7 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0432\u0432\u0435\u0440\u0445 \u0434\u043e \u0432\u043e\u0441\u044c\u043c\u0438.<\/p>\n<p>\u041d\u0430 .NET 8 \u0438 .NET 9 \u0442\u0430 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0430: \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2014 1,44\u20131,67 \u0438 1,42\u20131,88, \u0434\u0435\u0432\u044f\u0442\u044b\u0439 \u2014 3,78\u20135,36 \u0438 4,07\u20136,00.<\/p>\n<p>\u0412\u043d\u0443\u0442\u0440\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u044d\u0442\u043e\u0442 \u043a\u0435\u0448 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u0438, \u043d\u043e \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u043e\u043d \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e: \u043e\u0442\u0447\u0451\u0442 \u0434\u0430\u0451\u0442 \u0442\u0435 \u0436\u0435 8, 16, 24, 64 \u0438 64 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0442\u0440\u0451\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445 \u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445.<\/p>\n<p>\u0420\u0430\u0437\u0440\u044b\u0432 \u0440\u0430\u0441\u0442\u0451\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0447\u0438\u0441\u043b\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0445 \u0447\u0435\u0440\u0435\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0430 \u043f\u043e\u0441\u043b\u0435 64-\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438.<\/p>\n<h3>\u0418\u0441\u0442\u043e\u0440\u0438\u044f 4. \u041e\u0431\u044a\u0435\u043a\u0442 \u0438\u0437 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432<\/h3>\n<p>\u041f\u0440\u0435\u0434\u0435\u043b \u043e\u0434\u0438\u043d \u2014 64 \u0437\u0430\u043f\u0438\u0441\u0438, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0443 \u0442\u0438\u043f\u0430 \u043d\u0438 \u0431\u044b\u043b\u043e. \u041d\u0430 \u0432\u043e\u0441\u044c\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u044d\u0442\u043e \u0432\u043e\u0441\u0435\u043c\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432, \u043d\u0430 64 \u2014 \u043e\u0434\u0438\u043d.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0444\u043b\u0430\u0433 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440,   \u0444\u043b\u0430\u0433 \u0432\u043a\u043b\u044e\u0447\u0451\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,05<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,98<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415, \u0441\u0432\u043e\u0439   \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,03<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,04<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415 \u043f\u043e\u0441\u043b\u0435   \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,18<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,38<\/p>\n<\/td>\n<td>\n<p align=\"left\">4,28<\/p>\n<\/td>\n<td>\n<p align=\"left\">3,37<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u041e\u0431\u044a\u0435\u043a\u0442 \u0438\u0437 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0442\u0438\u043f\u0430 int \u0441 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438 \u0438\u043c\u0435\u043d\u0430\u043c\u0438<\/em><\/p>\n<p>\u0418\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u0438\u0437 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0444\u043b\u0430\u0433 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442: 0,98\u20131,05;<\/p>\n<\/li>\n<li>\n<p>\u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0435\u0441\u043b\u0438 \u043e\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439, \u2014 0,99\u20131,04;<\/p>\n<\/li>\n<li>\n<p>\u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0447\u0435\u0440\u0435\u0437 \u0442\u0435 \u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u2014 3,18\u20134,28.<\/p>\n<\/li>\n<\/ul>\n<p>\u0410\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438: 290,13 \u041a\u0411 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u0442\u0440\u0451\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0438 2290,13 \u041a\u0411 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439. \u0414\u0432\u0430 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442\u0430 \u2014 \u044d\u0442\u043e \u043a\u043e\u043f\u0438\u0438 \u0438\u043c\u0451\u043d: 64 \u043a\u043b\u044e\u0447\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 1000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, 64 000 \u043a\u043e\u043f\u0438\u0439 \u043f\u043e 32 \u0431\u0430\u0439\u0442\u0430. \u0422\u0435 \u0436\u0435 32 \u0431\u0430\u0439\u0442\u0430, \u0447\u0442\u043e \u0438 \u0432 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0442\u0438\u043f\u0435 \u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u044e\u0447\u0435\u0439. \u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043d\u044f\u043b \u0432\u0441\u0435 64 \u0437\u0430\u043f\u0438\u0441\u0438 \u043a\u0435\u0448\u0430, \u0430 \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043d\u0435\u0442.<\/p>\n<p>\u041d\u0430 .NET 8 \u0438 .NET 9 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2014 3,31\u20134,22 \u0438 3,61\u20135,84.<\/p>\n<p>\u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0443 \u0442\u0438\u043f\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u0435\u0448. \u041d\u0430 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0442\u0443\u0434\u0430 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0439.<\/p>\n<h3>\u0418\u0441\u0442\u043e\u0440\u0438\u044f 5. \u0414\u043b\u0438\u043d\u0430 \u0438\u043c\u0451\u043d \u043a\u043b\u044e\u0447\u0435\u0439<\/h3>\n<p>\u0418\u043c\u044f \u0434\u043e 7 \u0431\u0430\u0439\u0442 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043b\u044e\u0447 \u0437\u0430\u043f\u0438\u0441\u0438 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u043b\u0438\u043d\u043e\u0439, \u0438 \u043a\u043b\u044e\u0447\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0447\u0438\u0441\u043b\u0430. \u0414\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u0434\u0443\u0442 \u043d\u0430 \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443.<\/p>\n<pre><code class=\"cs\">\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/PropertyRef.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043epublic static ulong GetKey(ReadOnlySpan&lt;byte&gt; name){    int length = name.Length;    ulong key = (ulong)(byte)length &lt;&lt; 56;    key |= length switch    {        0 =&gt; 0,        1 =&gt; name[0],        \/\/ ... \u0434\u043b\u0438\u043d\u044b \u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e \u0448\u0435\u0441\u0442\u0443\u044e \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435, \u043f\u043e \u0447\u0430\u0441\u0442\u044f\u043c        7 =&gt; MemoryMarshal.Read&lt;uint&gt;(name) | ((ulong)MemoryMarshal.Read&lt;ushort&gt;(name.Slice(4, 2)) &lt;&lt; 32) | ((ulong)name[6] &lt;&lt; 48),        _ =&gt; MemoryMarshal.Read&lt;ulong&gt;(name) &amp; 0x00ffffffffffffffUL    };    return key;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u043a\u043b\u044e\u0447\u0430 \u2014 \u0434\u043b\u0438\u043d\u0430 \u0438\u043c\u0435\u043d\u0438, \u043c\u043b\u0430\u0434\u0448\u0438\u0435 \u0441\u0435\u043c\u044c \u2014 \u0435\u0433\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u0441\u0435\u043c\u044c \u0431\u0430\u0439\u0442. \u0418\u043c\u0435\u043d\u0430 \u043e\u0442 \u0432\u043e\u0441\u044c\u043c\u0438 \u0431\u0430\u0439\u0442 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435\u043c \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043e\u0431\u0440\u0435\u0437\u0430\u044e\u0442\u0441\u044f \u043c\u0430\u0441\u043a\u043e\u0439; \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0447\u0430\u0441\u0442\u044f\u043c: \u0432\u043e\u0441\u0435\u043c\u044c \u0431\u0430\u0439\u0442 \u0438\u0437 \u0438\u043c\u0435\u043d\u0438 \u0434\u043b\u0438\u043d\u043e\u0439 \u0448\u0435\u0441\u0442\u044c \u0443\u0436\u0435 \u043d\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c.<\/p>\n<p>\u041e\u0442\u0441\u044e\u0434\u0430 \u0438 \u0433\u0440\u0430\u043d\u0438\u0446\u0430. \u0415\u0441\u043b\u0438 \u0438\u043c\u044f \u043d\u0435 \u0434\u043b\u0438\u043d\u043d\u0435\u0435 \u0441\u0435\u043c\u0438 \u0431\u0430\u0439\u0442, \u043a\u043b\u044e\u0447 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0435\u0433\u043e \u0446\u0435\u043b\u0438\u043a\u043e\u043c: \u0441\u043e\u0432\u043f\u0430\u043b\u0438 \u043a\u043b\u044e\u0447\u0438 \u2014 \u0441\u043e\u0432\u043f\u0430\u043b\u0438 \u0438 \u0438\u043c\u0435\u043d\u0430, \u0441\u0432\u0435\u0440\u044f\u0442\u044c \u0431\u0430\u0439\u0442\u044b \u043d\u0435\u0437\u0430\u0447\u0435\u043c. \u0410 \u0447\u0442\u043e \u043d\u0430 \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u043d\u0430\u0445 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0434\u043e\u0445\u043e\u0434\u0438\u0442 \u0434\u043e \u0431\u0430\u0439\u0442\u043e\u0432, \u0432\u0438\u0434\u043d\u043e \u0432 PropertyRef.Equals \u0438\u0437 \u0432\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0aa\/b7a\/e04\/0aab7ae04cbed8cac29c5a0c88173b6e.png\" alt=\"\u0412\u0435\u0441\u044c \u0440\u044f\u0434 \u043e\u0442 2 \u0434\u043e 64 \u0431\u0430\u0439\u0442 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 0,97\u20131,14, \u0441\u0442\u0443\u043f\u0435\u043d\u0438 \u043c\u0435\u0436\u0434\u0443 7 \u0438 8 \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043d\u0435\u0442\" title=\"\u0412\u0435\u0441\u044c \u0440\u044f\u0434 \u043e\u0442 2 \u0434\u043e 64 \u0431\u0430\u0439\u0442 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 0,97\u20131,14, \u0441\u0442\u0443\u043f\u0435\u043d\u0438 \u043c\u0435\u0436\u0434\u0443 7 \u0438 8 \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043d\u0435\u0442\" width=\"1320\" height=\"675\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/0aa\/b7a\/e04\/0aab7ae04cbed8cac29c5a0c88173b6e.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0aa\/b7a\/e04\/0aab7ae04cbed8cac29c5a0c88173b6e.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0412\u0435\u0441\u044c \u0440\u044f\u0434 \u043e\u0442 2 \u0434\u043e 64 \u0431\u0430\u0439\u0442 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 0,97\u20131,14, \u0441\u0442\u0443\u043f\u0435\u043d\u0438 \u043c\u0435\u0436\u0434\u0443 7 \u0438 8 \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043d\u0435\u0442<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u0418\u0437 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>\u0432\u0435\u0441\u044c \u0440\u044f\u0434 \u043e\u0442 2 \u0434\u043e 64 \u0431\u0430\u0439\u0442 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 0,97\u20131,14;<\/p>\n<\/li>\n<li>\n<p>\u043c\u0435\u0436\u0434\u0443 7 \u0438 8 \u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043d\u0435\u0442: 0,97\u20131,05 \u043f\u0440\u043e\u0442\u0438\u0432 1,01\u20131,08.<\/p>\n<\/li>\n<\/ul>\n<p>\u0420\u044f\u0434\u043e\u043c \u0434\u0432\u0430 \u0441\u043b\u0443\u0447\u0430\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0440\u044f\u0434\u0430 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0442: \u0438\u043c\u044f, \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c, \u0438 \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u20134 \u0431\u0430\u0439\u0442\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u20134 \u0431\u0430\u0439\u0442\u0430, \u0438\u043c\u044f   \u0438\u0437 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,02<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,98<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,91<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,05<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,08<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u041d\u0430\u0431\u043e\u0440 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043f\u0435\u0440\u0432\u043e\u0439 \u0434\u043e \u0431\u0430\u0439\u0442\u0430, \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430<\/em><\/p>\n<p>\u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e: 0,98\u20131,02 \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u043d\u0430\u0431\u043e\u0440\u0435 \u0431\u0430\u0439\u0442. \u041a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430 \u2014 0,91\u20131,08, \u0445\u043e\u0442\u044f \u0431\u0443\u043a\u0432\u0430 \u0442\u0430\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u0438 \u0438\u043c\u044f \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0431\u0443\u043a\u0432 \u0432 \u043a\u043b\u044e\u0447 \u0437\u0430\u043f\u0438\u0441\u0438 \u0443\u0436\u0435 \u043d\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p>\u0414\u043b\u0438\u043d\u0430 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u0434\u0430\u0451\u0442 \u043d\u0438\u0447\u0435\u0433\u043e. \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0435\u0451 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21161 Ryzen<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21162 i9<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21163 Xeon    Silver<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u21164 Xeon W<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430, \u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,00<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,01<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<td>\n<p align=\"left\">0,99<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,04<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,07<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,10<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,06<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,04<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,07<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,14<\/p>\n<\/td>\n<td>\n<p align=\"left\">1,04<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u0424\u043b\u0430\u0433 \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u0432\u043e\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a<\/em><\/p>\n<p>\u0414\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0438\u043c\u0435\u043d\u0430\u0445 \u2014 0,99\u20131,01, \u043d\u0430 \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u2014 0,98\u20131,03. \u0414\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 1,04\u20131,10, \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0442\u0443\u0442 \u043d\u0438 \u043f\u0440\u0438 \u0447\u0451\u043c. \u0420\u0430\u0437\u0440\u044b\u0432 \u0438\u0437 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0434\u0430\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0432 \u043a\u0435\u0448\u0435.<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b<\/h3>\n<p><strong>\u041f\u043e \u0446\u0438\u0444\u0440\u0430\u043c:<\/strong><\/p>\n<ul>\n<li>\n<p><code>PropertyNameCaseInsensitive<\/code> \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u043a\u0430 \u043a\u043b\u044e\u0447\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435: 0,92\u20131,09;<\/p>\n<\/li>\n<li>\n<p>JsonNamingPolicy.CamelCase \u0442\u0430\u043c \u0436\u0435 \u2014 0,95\u20131,07;<\/p>\n<\/li>\n<li>\n<p>\u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0442\u0435\u0445 \u0436\u0435 \u043a\u043b\u044e\u0447\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0442 \u0436\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u2014 1,17\u20131,47, \u0442\u0440\u0435\u0442\u0438\u0439 \u2014 1,45\u20131,80;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u0438\u043c\u0435\u043d\u0430\u0445 \u043f\u043e 7 \u0431\u0430\u0439\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435: \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 1,31\u20131,52, \u0442\u0440\u0435\u0442\u0438\u0439 \u2014 1,49\u20131,91, \u0432\u043e\u0441\u044c\u043c\u043e\u0439 \u2014 2,94\u20134,25, \u0434\u0435\u0432\u044f\u0442\u044b\u0439 \u2014 3,96\u20136,96 \u0438 \u043b\u0438\u0448\u043d\u0438\u0435 250 \u041a\u0411 \u043d\u0430 1000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0442\u043e\u0442 \u0436\u0435 \u0442\u0440\u0435\u0442\u0438\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0439 \u0432 \u043a\u0435\u0448 \u043f\u0435\u0440\u0432\u044b\u043c, \u2014 0,98\u20131,07;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u0438\u0437 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0434\u0430\u0451\u0442 3,18\u20134,28 \u0438 \u043b\u0438\u0448\u043d\u0438\u0435 2 \u041c\u0411;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, \u0434\u0430\u0442\u043e\u0439 \u0438 \u0434\u0440\u043e\u0431\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u0440\u0430\u0437\u0440\u044b\u0432 1,24\u20131,28 \u0432\u043c\u0435\u0441\u0442\u043e 1,45\u20131,80;<\/p>\n<\/li>\n<li>\n<p>\u0434\u043b\u0438\u043d\u0430 \u0438\u043c\u0451\u043d \u043f\u0440\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442: 0,98\u20131,03;<\/p>\n<\/li>\n<li>\n<p>\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442: 0,91\u20131,03.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435:<\/strong><\/p>\n<ul>\n<li>\n<p>\u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439 \u2014 \u0441\u0432\u043e\u0439 JsonSerializerOptions, \u0442\u043e\u0433\u0434\u0430 \u0442\u0435 \u0441\u0430\u043c\u044b\u0435 1,31\u20131,91 \u043d\u0435 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0434\u043d\u043e\u0433\u043e new \u043c\u0430\u043b\u043e: \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0434\u0435\u043b\u044f\u0442 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435, \u0430 \u0441 \u043d\u0438\u043c\u0438 \u0438 \u043a\u0435\u0448 \u0438\u043c\u0451\u043d. \u0421\u0432\u043e\u0439 \u0440\u0435\u0437\u043e\u043b\u0432\u0435\u0440 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u2014 \u0438 \u043e\u043d\u0438 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0443\u0442;<\/p>\n<\/li>\n<li>\n<p>\u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e camelCase, \u0431\u0435\u0440\u0438\u0442\u0435 JsonNamingPolicy.CamelCase: \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442, \u0430 \u0432 \u043a\u0435\u0448\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0437\u0430\u043f\u0430\u0441 \u0437\u0430\u0440\u0430\u043d\u0435\u0435: 64 \u0437\u0430\u043f\u0438\u0441\u0438 \u2014 \u044d\u0442\u043e 8 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043f\u043e 8 \u043a\u043b\u044e\u0447\u0435\u0439 \u0438\u043b\u0438 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043d\u0430 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u0438 \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0443 \u0442\u0438\u043f\u0430, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0442\u0443\u0434\u0430 \u0432\u043b\u0435\u0437\u0435\u0442;<\/p>\n<\/li>\n<li>\n<p>\u0430\u043b\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u0440\u0430\u0437\u0431\u043e\u0440\u0435 \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u2014 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0435\u0439, \u0438 \u0435\u043c\u0443 \u043d\u0443\u0436\u0435\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 <code>JsonSerializerOptions<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u043e\u0434 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/ComboxSoftDeveloper\/JsonKeyProof\" rel=\"noopener noreferrer nofollow\">JsonKeyProof<\/a> \u2014 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438, \u0441\u0432\u0435\u0440\u043a\u0438 \u0438 \u043f\u0440\u043e\u0433\u043e\u043d\u044b \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445<\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0441\u044b\u043b\u043a\u0438<\/h4>\n<ul>\n<li>\n<p><a href=\"https:\/\/learn.microsoft.com\/dotnet\/api\/system.text.json.jsonserializeroptions.propertynamecaseinsensitive\" rel=\"noopener noreferrer nofollow\">JsonSerializerOptions.PropertyNameCaseInsensitive<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/learn.microsoft.com\/dotnet\/api\/system.text.json.jsonserializeroptions.propertynamingpolicy\" rel=\"noopener noreferrer nofollow\">JsonSerializerOptions.PropertyNamingPolicy<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/release\/10.0\/src\/libraries\/System.Text.Json\/src\/System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.Cache.cs\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u0438\u0441\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0438 \u043a\u0435\u0448 \u0438\u043c\u0451\u043d<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/release\/10.0\/src\/libraries\/System.Text.Json\/src\/System\/Text\/Json\/Serialization\/Metadata\/PropertyRef.cs\" rel=\"noopener noreferrer nofollow\">\u0417\u0430\u043f\u0438\u0441\u044c \u043a\u0435\u0448\u0430: \u043a\u043b\u044e\u0447 \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u0441\u0435\u043c\u0438 \u0431\u0430\u0439\u0442 \u0438\u043c\u0435\u043d\u0438 \u0438 \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/release\/10.0\/src\/libraries\/System.Text.Json\/src\/System\/Text\/Json\/Serialization\/JsonSerializerOptions.Caching.cs\" rel=\"noopener noreferrer nofollow\">\u041e\u0431\u0449\u0438\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/release\/10.0\/src\/libraries\/System.Text.Json\/src\/System\/Text\/Json\/Serialization\/Metadata\/DefaultJsonTypeInfoResolver.Helpers.cs\" rel=\"noopener noreferrer nofollow\">\u0413\u0434\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/pull\/35848\" rel=\"noopener noreferrer nofollow\">dotnet\/runtime PR #35848 \u2014 \u043f\u043e\u0438\u0441\u043a \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d \u043d\u0430 \u043a\u0435\u0448 \u0438\u043c\u0451\u043d<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/learn.microsoft.com\/dotnet\/standard\/serialization\/system-text-json\/reflection-vs-source-generation\" rel=\"noopener noreferrer nofollow\">\u0420\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f \u043f\u0440\u043e\u0442\u0438\u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/learn.microsoft.com\/dotnet\/standard\/serialization\/system-text-json\/configure-options\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c JsonSerializerOptions<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/release\/10.0\/src\/libraries\/System.Text.Json\/src\/System\/Text\/Json\/Serialization\/JsonSerializer.Read.HandlePropertyName.cs\" rel=\"noopener noreferrer nofollow\">\u0421\u0447\u0451\u0442\u0447\u0438\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0445\u043e\u0434 \u043a\u0435\u0448\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/release\/10.0\/src\/libraries\/System.Text.Json\/src\/System\/Text\/Json\/Serialization\/Metadata\/PropertyRefCacheBuilder.cs\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u043a\u0435\u0448\u0435 \u0438 \u043f\u0440\u0435\u0434\u0435\u043b \u0432 64 \u0437\u0430\u043f\u0438\u0441\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0441\u0435\u043c \u0443\u0434\u0430\u0447\u0438 \u0438 \u0434\u043e \u043d\u043e\u0432\u044b\u0445 \u0432\u0441\u0442\u0440\u0435\u0447!<\/strong><\/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\/1065092\/\">https:\/\/habr.com\/ru\/articles\/1065092\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0423\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438, \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 PropertyNameCaseInsensitive, \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u0432\u044b\u0432\u043e\u0434\u044b.\u0424\u0440\u043e\u043d\u0442 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u0435\u0442 camelCase, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 C# \u043d\u0430\u0437\u0432\u0430\u043d\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u0443\u043a\u0432\u044b. \u041f\u0440\u0438\u043d\u044f\u0442\u044c \u0442\u0430\u043a\u043e\u0439 JSON \u043c\u043e\u0436\u043d\u043e \u0434\u0432\u0443\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438:PropertyNameCaseInsensitive = true \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430;PropertyNamingPolicy = JsonNamingPolicy.CamelCase \u2014 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u043c\u0435\u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043a camelCase, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0441\u043e\u0432\u043f\u0430\u043b\u0438 \u0441 \u043a\u043b\u044e\u0447\u0430\u043c\u0438.\u041f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u043d\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435: 0,92\u20131,09 \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445, \u0442\u0440\u0451\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445 \u0438 \u0442\u0440\u0451\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e JSON. \u0420\u0430\u0437\u043d\u0438\u0446\u0443 \u0434\u043e \u00d74,3 \u0434\u0430\u0451\u0442 \u0434\u0440\u0443\u0433\u043e\u0435: \u044d\u0442\u043e\u0442 \u0436\u0435 JsonSerializerOptions \u0443\u0436\u0435 \u0447\u0438\u0442\u0430\u043b \u0442\u0435 \u0436\u0435 \u043a\u043b\u044e\u0447\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435. \u041f\u043e \u0447\u0435\u0442\u044b\u0440\u0451\u043c \u043c\u0430\u0448\u0438\u043d\u0430\u043c 3,18\u20134,28.\u0411\u0443\u0434\u0435\u0442 5 \u0438\u0441\u0442\u043e\u0440\u0438\u0439:\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u043b\u0430\u0433, \u0435\u0441\u043b\u0438 \u043a\u043b\u044e\u0447\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435;\u0447\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0432 \u044d\u0442\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0442\u0435\u0445 \u0436\u0435 \u043a\u043b\u044e\u0447\u0435\u0439;\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u044b\u0432 \u0441\u0442\u0430\u043b \u0437\u0430\u043c\u0435\u0442\u0435\u043d, \u0438 \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043e\u043d \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f;\u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 \u0438\u0437 64 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043a\u0435\u0448 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443\u0436\u0435 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435;\u0432\u043b\u0438\u044f\u0435\u0442 \u043b\u0438 \u043d\u0430 \u044d\u0442\u043e \u0434\u043b\u0438\u043d\u0430 \u0438\u043c\u0451\u043d.\u041a\u043e\u0434 \u2014 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 JsonKeyProof. \u0427\u0435\u0442\u044b\u0440\u0435 \u043c\u0430\u0448\u0438\u043d\u044b:\u2116CPU\u042f\u0434\u0440\u0430\/\u043f\u043e\u0442\u043e\u043a\u0438\u0427\u0430\u0441\u0442\u043e\u0442\u0430\u041e\u0421\u21161AMD Ryzen 9   5950X16 \/ 323,4 \u0413\u0413\u0446, \u0434\u043e 4,9   \u0432 \u0442\u0443\u0440\u0431\u043eWindows 10 1809\u21162Intel Core   i9-10900KF10 \/ 203,7 \u0413\u0413\u0446, \u0434\u043e 5,3   \u0432 \u0442\u0443\u0440\u0431\u043eWindows 10 22H2\u211632 \u00d7 Intel Xeon   Silver 43142\u00d716 \/ 642,4 \u0413\u0413\u0446, \u0434\u043e 3,4   \u0432 \u0442\u0443\u0440\u0431\u043eWindows Server   2022\u21164Intel Xeon   W-225510 \/ 203,7 \u0413\u0413\u0446, \u0434\u043e 4,5   \u0432 \u0442\u0443\u0440\u0431\u043eWindows Server   2022BenchmarkDotNet 0.15.8, Release, .NET 8, 9 \u0438 10. \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e .NET 10, \u043e\u0442\u043b\u0438\u0447\u0438\u044f \u043d\u0430 \u0432\u043e\u0441\u044c\u043c\u0451\u0440\u043a\u0435 \u0438 \u0434\u0435\u0432\u044f\u0442\u043a\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e \u0432 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0438 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u044f\u0445. \u041f\u043e\u043b\u043d\u044b\u0435 \u043e\u0442\u0447\u0451\u0442\u044b \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438.\u0418\u0441\u0442\u043e\u0440\u0438\u044f 1. \u0427\u0442\u043e \u0434\u0430\u0451\u0442 \u0444\u043b\u0430\u0433, \u0435\u0441\u043b\u0438 \u0432\u0435\u0441\u044c JSON \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435\u041e\u0431\u044a\u0435\u043a\u0442 \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0442\u0438\u043f\u0430 int, \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u043e 2\u20134 \u0431\u0430\u0439\u0442\u0430. \u041d\u0430\u0431\u043e\u0440\u044b JSON \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c \u043a\u043b\u044e\u0447\u0435\u0439, \u0430 \u043f\u043e \u0434\u043b\u0438\u043d\u0435 \u0432 \u0431\u0430\u0439\u0442\u0430\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0432\u0435\u0440\u043a\u0430 \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u043c.\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0438\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c JsonSerializerOptions. \u041e\u0434\u043d\u0438\u043c \u0442\u0443\u0442 \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c: \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u0430 \u043b\u0435\u0436\u0430\u0442 \u043d\u0435 \u0432 \u0441\u0430\u043c\u043e\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0435, \u0430 \u0432 \u043e\u0431\u0449\u0435\u043c \u043a\u0435\u0448\u0435. \u041a\u043b\u044e\u0447 \u043a \u044d\u0442\u043e\u043c\u0443 \u043a\u0435\u0448\u0443 \u2014 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0432\u0430 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 JsonTypeInfo.\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/JsonSerializerOptions.Caching.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043e\/\/\/ Context can be shared across multiple equivalent options instances.internal CachingContext CacheContextpublic static CachingContext GetOrCreate(JsonSerializerOptions options){    int hashCode = s_optionsComparer.GetHashCode(options);    \/\/ &#8230; \u043f\u043e\u0438\u0441\u043a \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434\u0443}public bool Equals(JsonSerializerOptions? left, JsonSerializerOptions? right){    return        left._jsonPropertyNamingPolicy == right._jsonPropertyNamingPolicy &amp;&amp;        left._propertyNameCaseInsensitive == right._propertyNameCaseInsensitive &amp;&amp;        left._typeInfoResolver == right._typeInfoResolver &amp;&amp;        \/\/ &#8230; \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f}\u0420\u0435\u0437\u043e\u043b\u0432\u0435\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0432\u043e\u0439 DefaultJsonTypeInfoResolver \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u043c\u0438. \u0421\u0432\u0435\u0440\u043a\u0430 \u043f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u043c \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0438\u043d\u0430\u0447\u0435 \u0437\u0430\u043c\u0435\u0440 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f.\/\/ JsonKeyProof, Subjects.cspublic static readonly JsonSerializerOptions OwnCamel = new(){    PropertyNameCaseInsensitive = true,    TypeInfoResolver = new DefaultJsonTypeInfoResolver()};\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c\u21161 Ryzen\u21162 i9\u21163 Xeon    Silver\u21164 Xeon W\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0444\u043b\u0430\u0433 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d1,001,001,001,00\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440,   \u0444\u043b\u0430\u0433 \u0432\u043a\u043b\u044e\u0447\u0451\u043d1,001,000,971,08\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d1,001,001,031,02camelCase, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d0,990,990,981,06camelCase,   \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f1,000,991,001,07\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u041d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439 \u2014 \u0441\u0432\u043e\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a\u0418\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b:\u0444\u043b\u0430\u0433 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439 \u0441\u043e\u0432\u043f\u0430\u043b: 0,97\u20131,08;\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u043b \u2014 \u0442\u043e\u0436\u0435: 1,00\u20131,03 \u043d\u0430 \u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0425;\u043d\u0430 camelCase \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435: 0,98\u20131,06;\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u0451\u0442 0,99\u20131,07.\u041d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u21164 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0434\u043e\u0445\u043e\u0434\u0438\u0442 \u0434\u043e 8%, \u043d\u043e \u0434\u043e 1,07 \u0442\u0430\u043c \u0434\u043e\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442 \u0438 \u0441\u0442\u0440\u043e\u043a\u0430 \u0441 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f, \u0433\u0434\u0435 \u0444\u043b\u0430\u0433\u0430 \u043d\u0435\u0442 \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u0431\u0440\u043e\u0441 \u043c\u0430\u0448\u0438\u043d\u044b. \u041d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0451\u0445 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 3%. \u041d\u0430 \u0432\u0441\u0435\u0445 \u0442\u0440\u0451\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445 \u0438 \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e JSON \u043b\u044e\u0431\u0430\u044f \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0441\u0442\u0440\u043e\u043a \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 0,92\u20131,09.\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0438\u0449\u0435\u0442\u0441\u044f \u0432 \u0434\u0432\u0430 \u0437\u0430\u0445\u043e\u0434\u0430: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443, \u0433\u0434\u0435 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043b\u044e\u0447\u0430 \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043f\u0440\u043e\u043c\u0430\u0445\u0435 \u2014 \u043f\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044e \u0438\u043c\u0451\u043d.\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.Cache.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eprivate PropertyRef[] _utf8PropertyCache = [];internal JsonPropertyInfo? GetProperty(ReadOnlySpan&lt;byte&gt; propertyName, ref ReadStackFrame frame, out byte[] utf8PropertyName){    \/\/ The logic can be broken up into roughly three stages:    \/\/ 1. Look up the UTF-8 property cache for potential exact matches in the encoding.    \/\/ 2. If no match is found, decode to UTF-16 and look up the primary dictionary.    \/\/ 3. Store the new result for potential inclusion to the UTF-8 cache once deserialization is complete.    PropertyRef[] utf8PropertyCache = _utf8PropertyCache;    ReadOnlySpan&lt;PropertyRef&gt; utf8PropertyCacheSpan = utf8PropertyCache;    ulong key = PropertyRef.GetKey(propertyName);    \/\/ &#8230; \u043f\u0440\u043e\u0445\u043e\u0434 \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0437\u0430\u043f\u0438\u0441\u0435\u0439    \/\/ No cached item was found. Try the main dictionary which has all of the properties.    if (PropertyIndex.TryLookupUtf8Key(propertyName, out JsonPropertyInfo? info) &amp;&amp;        (!Options.PropertyNameCaseInsensitive || propertyName.SequenceEqual(info.NameAsUtf8Bytes)))    {        \/\/ We have an exact match in UTF8 encoding.        utf8PropertyName = info.NameAsUtf8Bytes;    }}\u0414\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0444\u043b\u0430\u0433 \u043d\u0435 \u0434\u043e\u0445\u043e\u0434\u0438\u0442. \u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u0442\u0430\u0445, \u0438 \u043e\u0431\u0430 \u043d\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043b\u044e\u0447\u0435: \u0441\u0432\u0435\u0440\u043a\u0430 SequenceEqual \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u0438 \u0432\u044b\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044f. \u041a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043d\u0430 \u0442\u0438\u043f, \u043a\u043e\u0433\u0434\u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435.\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/Metadata\/JsonTypeInfo.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043einternal void ConfigureProperties(){    \/\/ &#8230; \u0441\u0431\u043e\u0440 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0442\u0438\u043f\u0430    StringComparer comparer = Options.PropertyNameCaseInsensitive ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal;    Dictionary&lt;string, JsonPropertyInfo&gt; propertyIndex = new(properties.Count, comparer);}\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0435\u0449\u0451 \u0440\u0430\u043d\u044c\u0448\u0435 \u2014 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 JsonPropertyInfo, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0442\u0438\u043f\u0430.\/\/ dotnet\/runtime,\/\/ System\/Text\/Json\/Serialization\/Metadata\/DefaultJsonTypeInfoResolver.Helpers.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043eprivate static void DeterminePropertyName(JsonPropertyInfo propertyInfo, MemberInfo memberInfo){    JsonPropertyNameAttribute? nameAttribute = memberInfo.GetCustomAttribute&lt;JsonPropertyNameAttribute&gt;(inherit: false);    string? name;    if (nameAttribute != null)    {        name = nameAttribute.Name;    }    else if (propertyInfo.Options.PropertyNamingPolicy != null)    {        name = propertyInfo.Options.PropertyNamingPolicy.ConvertName(memberInfo.Name);    }    else    {        name = memberInfo.Name;    }    propertyInfo.Name = name;}\u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b, \u043d\u043e \u043d\u0435 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f. \u0420\u0430\u0437\u0434\u0435\u043b Remarks \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 PropertyNameCaseInsensitive:\/\/ learn.microsoft.com, JsonSerializerOptions.PropertyNameCaseInsensitiveThere is a performance cost associated with case-insensitive comparison\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u043d\u043e\u0435 \u2014 \u0440\u0435\u0447\u044c \u043f\u0440\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0432\u0435\u0442\u043a\u0443. \u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0435\u0441\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 dotnet\/runtime #35848, \u0433\u0434\u0435 \u044d\u0442\u043e\u0442 \u043f\u043e\u0438\u0441\u043a \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043b\u0438 \u043d\u0430 \u043c\u0430\u0441\u0441\u0438\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439: \u0435\u0441\u043b\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u0439 JSON \u0443\u0436\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0434\u0430\u0451\u0442 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 camelCase, \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u0430 \u043e\u0442 \u043f\u0440\u0430\u0432\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u2014 \u043f\u0440\u043e\u043c\u0430\u0445\u043e\u0432 \u043d\u0435\u0442. \u041e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0435, \u0432\u0440\u0435\u043c\u0451\u043d .NET 5, \u043d\u043e \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u043f\u043e\u0438\u0441\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438: \u0432\u0441\u0435 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432\u0437\u044f\u0442\u044b \u0438\u0437 \u0432\u0435\u0442\u043a\u0438 release\/10.0. \u041e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d.\u041f\u043e\u043a\u0430 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043b\u044e\u0447\u0435\u0439, \u0444\u043b\u0430\u0433 \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442.ASP.NET \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Web, \u0430 \u0442\u0430\u043c \u0443\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0438 \u0444\u043b\u0430\u0433, \u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430:\/\/ dotnet\/runtime, System\/Text\/Json\/Serialization\/JsonSerializerOptions.cs\/\/ \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043epublic JsonSerializerOptions(JsonSerializerDefaults defaults) : this(){    if (defaults == JsonSerializerDefaults.Web)    {        _propertyNameCaseInsensitive = true;        _jsonPropertyNamingPolicy = JsonNamingPolicy.CamelCase;        _numberHandling = JsonNumberHandling.AllowReadingFromString;    }}\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f camelCase, \u0432\u0445\u043e\u0434\u043d\u043e\u0439 camelCase \u0441 \u043d\u0438\u043c\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442, \u0438 \u0432 \u043a\u0435\u0448 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0432\u0435\u0431-\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u2014 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442 \u0432\u0442\u043e\u0440\u043e\u0439.\u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c\u21161 Ryzen\u21162 i9\u21163 Xeon    Silver\u21164 Xeon W\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430, \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f1,001,001,001,00\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u04400,910,990,930,97\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f1,041,061,021,10\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430,   \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u04401,001,041,051,05\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415 \u0441   \u0444\u043b\u0430\u0433\u043e\u043c, \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044f1,001,020,971,03\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415 \u0441   \u0444\u043b\u0430\u0433\u043e\u043c, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u04400,980,960,930,94\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10\u0420\u0430\u0437\u0431\u043e\u0440 \u0447\u0435\u0440\u0435\u0437 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 0,91\u20131,03 \u043e\u0442 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u044e \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u0438\u0441\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0432 \u043e\u0431\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442 \u2014 \u0434\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0451 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445.\u0418\u0441\u0442\u043e\u0440\u0438\u044f 2. \u0427\u0442\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0412\u0441\u0451 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0435 \u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0421\u043b\u0443\u0436\u0431\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 JSON \u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0434\u043d\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445.\u0427\u0442\u043e \u043c\u0435\u0440\u044f\u0435\u043c\u21161 Ryzen\u21162 i9\u21163 Xeon    Silver\u21164 Xeon W\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440, \u0444\u043b\u0430\u0433 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d1,001,001,001,00\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440,   \u0444\u043b\u0430\u0433 \u0432\u043a\u043b\u044e\u0447\u0451\u043d1,011,011,001,03\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d1,171,371,471,34camelCase, \u0444\u043b\u0430\u0433   \u0432\u043a\u043b\u044e\u0447\u0451\u043d1,451,571,801,76camelCase,   \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f1,051,000,991,01\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, 1 000 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, .NET 10. \u041e\u0434\u0438\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043d\u0430 \u0432\u0441\u0435 \u0442\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0418\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b:\u0444\u043b\u0430\u0433 \u043f\u0440\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442: 1,00\u20131,03;\u0417\u0410\u0413\u041b\u0410\u0412\u041d\u042b\u0415 \u043f\u043e\u043f\u0430\u043b\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0442\u043e\u0440\u044b\u043c\u0438 \u2014 1,17\u20131,47;camelCase \u043f\u043e\u043f\u0430\u043b \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u2014 1,45\u20131,80;\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u0451\u0442 0,99\u20131,05 \u2014 \u043a\u0430\u043a \u0440\u0430\u0437\u0431\u043e\u0440 \u0431\u0435\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a.\u0421\u0442\u0440\u043e\u043a\u0430 \u0441 camelCase \u2014 \u0442\u043e\u0442 \u0436\u0435 \u0432\u044b\u0437\u043e\u0432 \u043d\u0430 \u0442\u0435\u0445 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e \u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u0433\u0434\u0435 \u043e\u043d \u0434\u0430\u043b 0,98\u20131,06. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u044f\u043c, \u0444\u043b\u0430\u0433 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0442\u0435 \u0436\u0435. \u041e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e, \u0447\u0442\u043e \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0438\u0442\u0430\u043b\u0438 \u0440\u0430\u043d\u044c\u0448\u0435. \u0417\u043d\u0430\u0447\u0438\u0442 \u0434\u0435\u043b\u043e \u043d\u0435 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435.\u0427\u0442\u043e \u0443\u0441\u043f\u0435\u043b\u043e \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0451\u0442 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:\/\/ JsonKeyProof, \u0432\u044b\u0432\u043e\u0434 dotnet run -c Release -f net10.0 &#8212; cache=== &#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-489237","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/489237","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=489237"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/489237\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=489237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=489237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=489237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}