#jsonserializeroptions — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #jsonserializeroptions, aggregated by home.social.
-
Бенчмаркая System.Text.Json: те же данные, те же настройки, до ×4,3 разницы
В документации к PropertyNameCaseInsensitive есть предупреждение про накладные расходы, но не сказано, когда они появятся. Замерил на четырёх машинах, трёх рантаймах и трёх размерах входного JSON: пока через настройки идёт один регистр ключей, флаг не добавляет ничего — 0,92–1,09. Политика именования camelCase тоже. Разницу до ×4,3 даёт другое: какие ещё написания этих ключей прошли через настройки раньше. Два экземпляра JsonSerializerOptions, созданные через new с одинаковыми полями, делят один кеш имён. Внутри: пять историй с таблицами по четырём машинам, листинги из dotnet/runtime, предел кеша в 64 записи и веб-настройки, на которых эта разница не видна.
https://habr.com/ru/articles/1065092/
#SystemTextJson #JsonSerializerOptions #PropertyNameCaseInsensitive #десериализация #кеш #производительность #бенчмарк #BenchmarkDotNet #NET_10 #оптимизация
-
Бенчмаркая System.Text.Json: те же данные, те же настройки, до ×4,3 разницы
В документации к PropertyNameCaseInsensitive есть предупреждение про накладные расходы, но не сказано, когда они появятся. Замерил на четырёх машинах, трёх рантаймах и трёх размерах входного JSON: пока через настройки идёт один регистр ключей, флаг не добавляет ничего — 0,92–1,09. Политика именования camelCase тоже. Разницу до ×4,3 даёт другое: какие ещё написания этих ключей прошли через настройки раньше. Два экземпляра JsonSerializerOptions, созданные через new с одинаковыми полями, делят один кеш имён. Внутри: пять историй с таблицами по четырём машинам, листинги из dotnet/runtime, предел кеша в 64 записи и веб-настройки, на которых эта разница не видна.
https://habr.com/ru/articles/1065092/
#SystemTextJson #JsonSerializerOptions #PropertyNameCaseInsensitive #десериализация #кеш #производительность #бенчмарк #BenchmarkDotNet #NET_10 #оптимизация
-
Бенчмаркая System.Text.Json: те же данные, те же настройки, до ×4,3 разницы
В документации к PropertyNameCaseInsensitive есть предупреждение про накладные расходы, но не сказано, когда они появятся. Замерил на четырёх машинах, трёх рантаймах и трёх размерах входного JSON: пока через настройки идёт один регистр ключей, флаг не добавляет ничего — 0,92–1,09. Политика именования camelCase тоже. Разницу до ×4,3 даёт другое: какие ещё написания этих ключей прошли через настройки раньше. Два экземпляра JsonSerializerOptions, созданные через new с одинаковыми полями, делят один кеш имён. Внутри: пять историй с таблицами по четырём машинам, листинги из dotnet/runtime, предел кеша в 64 записи и веб-настройки, на которых эта разница не видна.
https://habr.com/ru/articles/1065092/
#SystemTextJson #JsonSerializerOptions #PropertyNameCaseInsensitive #десериализация #кеш #производительность #бенчмарк #BenchmarkDotNet #NET_10 #оптимизация