데브허브 | DEVHUB | Go just got a faster standard package...Go just got a faster standard package...
- Go 언어의 핵심 강점인 표준 라이브러리에 중대한 변화가 생겼습니다. 📚
json/v2는 Go의 핵심 도구에 수년 만에 찾아온 가장 중요한 업데이트 중 하나입니다. 🚀
- 기존
json/v1 패키지는 언마샬링 속도가 느리고 유연성이 떨어지며 확장이 어려웠습니다. 🐢
json/v2는 고수준 json/v2와 저수준 스트리밍 json/text로 책임을 분리한 완전한 재설계입니다. 🏗️
- 새로운 패키지는 수년간의 설계 부채를 해결하고, 대규모 성능 향상을 제공하며, JSON 처리 방식에 대한 실제적인 제어권을 부여합니다. ✨
- 언마샬링에서 2~10배, 특정 실제 사례에서는 40배까지 빨라지는 등 엄청난 성능 개선이 이루어졌습니다. ⚡
- 닐(nil) 슬라이스/맵의 기본 인코딩 방식, 바이트 배열 직렬화 등
v1과 v2 간의 기본 동작 변경 사항이 있습니다. 🔄
v2는 v1이 허용했던 유효하지 않은 UTF-8 문자를 더 이상 허용하지 않아 데이터 무결성을 높입니다. ✅
- 새로운 스트리밍 API를 통해 2차 시간 복잡도 작업을 선형 복잡도로 전환하여 효율성을 극대화합니다. 📈
json/v2는 Go 1.25에서 실험적으로 도입되었으며, 아직 안정적이지 않아 experiment 플래그를 통해 명시적으로 활성화해야 합니다. 🧪
- 이번 업데이트는 Go 표준 라이브러리의 오랜 약점 중 하나를 해결하는 중요한 진전입니다. 🎯