JSON быстрее, чем вы думаете Стандартный encoding/json в Go надежный, но...
Стандартный encoding/json в Go надежный, но... медленный. Он активно использует рефлексию, что бьет по CPU на высоконагруженных сервисах.
Если ваш сервис в основном занимается перекладыванием JSON-ов, посмотрите в сторону генерации кода.
Лично я в проде часто использую easyjson или fastjson (для парсинга без структуры), но сейчас набирает популярность Sonic (от ByteDance).
🚀 Sonic:
- Использует JIT-компиляцию (нужен AVX на CPU).
- В 2-3 раза быстрее стандартной библиотеки.
- API совместим с encoding/json (почти drop-in replacement).
import "github.com/bytedance/sonic"
var json = sonic.ConfigDefault
// Используем как обычно
output, err := json.Marshal(&data)
⚠️ Warning: Sonic работает только на Linux/macOS и amd64/arm64. Если деплоите на Windows или экзотику - аккуратнее.
#golang #libs #performance
👉 @golang_lib