
System vs Newtonsoft
Уже известный факт: коробочный сериализатор платформы .NET обзавёлся поддержкой полиморфной сериализации и десериализации.
Но насколько он быстрее по сравнению с Newtonsoft? Я задался этим вопросом и провёл бенчмарк. Сравнил работу с одним экземпляром и списком из 30000 различных объектов, каждый из которых являлся экземпляром некоторого производного класса.
Конфигурация сериализаторов следующая:
▪️camelCase
▪️pretty форматирование
▪️включение метаинформации о типе (поскольку в System её отключить нельзя, то в Newtonsoft нужно включить)
▪️конвертация
Уже известный факт: коробочный сериализатор платформы .NET обзавёлся поддержкой полиморфной сериализации и десериализации.
Но насколько он быстрее по сравнению с Newtonsoft? Я задался этим вопросом и провёл бенчмарк. Сравнил работу с одним экземпляром и списком из 30000 различных объектов, каждый из которых являлся экземпляром некоторого производного класса.
Конфигурация сериализаторов следующая:
▪️camelCase
▪️pretty форматирование
▪️включение метаинформации о типе (поскольку в System её отключить нельзя, то в Newtonsoft нужно включить)
▪️конвертация
enum
в string
Результат на фото: платформенное решение быстрее стороннего в ~4 раза в сериализации и в ~3.5 раза в десериализации.