Ребята из Т-Банĸ провели большой анализ производительности
Codable. В статье рассказывают какие оптимизации внесли в JSONEncoder/JSONDecoder, ускорив сериализацию и десериализацию в два раза и как сделали PR в swift-foundation.🟢
JSONEncoder/JSONDecoder не такой быстрый🟢Обходим касты стороной
🟢Уходим от оверхеда из-за generic-ов
🟢Измеряем бенчмарком первый decoding / encoding
🟢Бенчмарк Apple
🟢PR в Swift-Foundation
🟢Заключение
Многие приложения используют Codable для десериализации сетевых ответов, сохранения данных в UserDefaults или для записи данных в файлы. Поэтому производительность Codable в целом, а особенно JSONEncoder/JSONDecoder влияет на производительность большей части iOS-приложений.
Читать (Ru)
