Комментарии 12
Для сравнения сериализации JSON в Go и .NET в контексте веб-приложений вам сюда. Повторяемая методика тестирования и возможность любому желающему взять и улучшить решение на конкретном языке/технологии вызывают больше доверия к данным бенчмаркам за счёт исключения факторов ангажированности и/или кривых рук бенчмаркающего.
Собственно разница выходит не "12%", а меньше 2% (1,306,423 vs 1,286,433)
Автор использует стандартный Json.Net, а пример из бенчмарка какую-то странную библиотеку: https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/beetlex/PlatformBenchmarks/json.cs
Но да, надо бы переписать на неткор 3.0 и справнить.
А топовый из бенчмарка это github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/CSharp/aspnetcore/PlatformBenchmarks/BenchmarkApplication.Json.cs
Интересно было бы сравнить с .NET Core 3.0 и System.Text.JSON. По ссылкам обещают ускорение:
Description RPS CPU (%) Memory (MB)
Newtonsoft.Json – 500 B 136,435 95 172
System.Text.Json – 500 B 167,861 94 169
Newtonsoft.Json – 2.4 KB 97,137 97 174
System.Text.Json – 2.4 KB 132,026 96 169
Newtonsoft.Json – 40 KB 7,712 88 212
System.Text.Json – 40 KB 16,625 96 193
А во что упёрлись бенчмарки и там и там? Стектрейсы есть? Дампы памяти есть? Данные по кэшам есть? Короче, за счёт чего одно решение быстрее другого? Анализ не сделан, статья бессмысленна.
github.com/francoispqt/gojay
Сериализация и десериализация данных .NET Core vs Go