このプロジェクトについて
vibejsonは、標準的なmarshal/unmarshal操作以上の制御を必要とするGoアプリケーション向けの包括的なJSONライブラリです。アロケーションの削減と、ゼロコピー操作のための明示的な所有権および借用ルールの提供に重点を置いています。
主な機能は以下の通りです:
- 型付きコーデック:繰り返されるホットパスのオーバーヘッドを最小限に抑えるため、コンパイル済みエンコーダとデコーダをサポートしています。
- ドキュメントナビゲーション:`GetRaw`によるJSON Pointer (RFC 6901) 選択と、ドキュメントの繰り返しナビゲーションのための構造的インデックスを提供します。
- ストリーミング:NDJSONまたは連結されたJSON値を処理するための`Reader`および`Writer`が含まれています。
- バリデーションと変換:厳格なJSONバリデーションツールのほか、JSON出力のコンパクト化、インデント、または正規化を行う関数を提供します。
- パフォーマンス最適化:GoネイティブのSIMD(Go 1.27の`GOEXPERIMENT=simd`経由)をサポートし、amd64 (AVX2) および arm64 (NEON) アーキテクチャでの文字列スキャン、構造解析、数値配列変換を加速させます。
- ドキュメントモデル:動的なJSON操作のための、所有権を持つ順序付きドキュメントモデルを特徴としています。
このライブラリは、Go標準ライブラリ以外の依存関係を持たない設計となっており、高レベルの型付きコーデックから`x/`パッケージ内の低レベルスキャンカーネルまで、さまざまなAPIレベルを提供します。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.