Go言語のencoding/json/v2を高速化するツール「odjson」を、作者本人であるmazrean氏が紹介しています。encoding/json/v2の安定性を保ちながら、サードパーティ製JSONライブラリ並みの速度を実現することを目指したツールで、内部バッファへの直接読み書き、SWAR(SIMD within a Register)技術、16Byte単位の定数書き込み、フィールド名の決定木判定といった最適化技術を用いています。

Go 1.27.1・AMD Ryzen 9 7950X・Ubuntu 24.04の環境でのベンチマークでは、bytedance/sonicやgoccy/go-json、json-iterator/go、mailru/easyjson、sapphi-red/json-constantiaterと比較し、エンコードで4倍以上、デコードで2.69〜3.39倍の高速化を達成したとしています。著者は「自分もISUCONなどで重宝しています」と述べています。

出典が伝えている要点

  • 記事はGo言語のencoding/json/v2を高速化するツール「odjson」を紹介している
  • 著者mazrean氏がodjsonの作者本人である
  • odjsonはエンコード処理で4倍以上の高速化を実現したとされる
  • odjsonはデコード処理で2.69〜3.39倍の高速化を実現したとされる
  • ベンチマークのテスト環境はGo 1.27.1である
  • ベンチマークのテスト環境はAMD Ryzen 9 7950Xである
  • ベンチマークのテスト環境はUbuntu 24.04である
  • 記事は2026年9月16日に公開された
  • 比較対象としてbytedance/sonic、goccy/go-json、json-iterator/go、mailru/easyjson、sapphi-red/json-constantiaterが挙げられている
  • odjsonの最適化にはencoding/json/v2の内部バッファへの直接読み書きが用いられている
  • odjsonの最適化にはSWAR(SIMD within a Register)技術が用いられている
  • odjsonの最適化にはフィールド名の決定木判定が用いられている

原文より

自分も ISUCON などで重宝しています

出典: zenn.dev

← 2026.09.17 の号を通しで読む