go (json-iterator/go)
Searching Database…
Что это такое?
Высокопроизводительная JSON-библиотека для Go, позиционируемая как полностью совместимая замена стандартного пакета encoding/json без переделки кода: вы просто меняете импорт, а код остаётся как был.
Это библиотека, которую я импортирую, или утилита, которую я запускаю?
Библиотека для Go. Вы импортируете её вместо encoding/json и вызываете из своего кода — здесь нет ни исполняемого файла, ни сервера, ни этапа генерации кода.
Как перевести мой проект на неё?
Выполните go get github.com/json-iterator/go и замените импорт encoding/json на jsoniter. Конфигурация ConfigCompatibleWithStandardLibrary сохраняет поведение полностью идентичным стандартной библиотеке.
Нужно ли что-то ещё, кроме самого Go?
Нет — достаточно набора инструментов Go. В отличие от easyjson, здесь не нужна статическая генерация кода перед использованием.
Проект до сих пор активно поддерживается?
Нет — репозиторий на GitHub заархивирован и доступен только для чтения, так что обновлений больше не будет. Библиотека по-прежнему работает, но исправлений ошибок и новых функций ждать не стоит.
Она будет одинаково работать на Linux, macOS и Windows?
Требований к конкретной операционной системе нет: это чистая библиотека на Go, поэтому она собирается и работает везде, где работает инструментарий Go.
Насколько она быстрее стандартной encoding/json?
По бенчмаркам из README: декодирование 5623 ns/op против 35510 у стандартной библиотеки (примерно в 6 раз) с 3 аллокациями вместо 99; кодирование 837 ns/op против 2213 (примерно в 2,6 раза) с 384 вместо 712 выделенных байт.
Я увижу такой же прирост скорости на своих данных?
Не обязательно — в README прямо предупреждают, что бенчмарки нужно всегда проводить на своей нагрузке, потому что результаты сильно зависят от входных данных.
Как она сравнивается с easyjson?
В той же таблице бенчмарков она немного быстрее в обе стороны (5623 против 8499 ns/op на декодировании, 837 против 883 на кодировании), и, в отличие от easyjson, ей не нужна статическая генерация кода.
Which topics is it in?
json-parser, encoding, serialization, parsing, mit-license, parser, high-performance, json, golang, deprecated, benchmark, developers

