注目★★★★★Lobsters
JSON ライブラリに隠れた高速 double-to-string アルゴリズム yy
30秒で把握
- 1yy が Schubfach 族アルゴリズム、10 進べき乗乗算 1 回・述語 3 個で最短表現選択
- 2固定幅整数演算と左シフト δ 計算で古典型比 2〜3 倍の乗算削減、JSON 出力に最適
- 3yyjson に組み込まれ高速だが論文なし・ビジュアライザー付き HTML でアルゴリズム詳細確認可能
要約
yy は yyjson に組み込まれた double-to-string 変換アルゴリズムで、Schubfach 族に属し、固定幅整数演算のみで動作する。yy の工夫は、古典的な Schubfach が 2〜3 回必要とする 10 進べき乗の乗算を 1 回に削減し、δ (半 ULP) を別途乗算せず左シフトで計算することだ。4 つの候補値 (d₀, u₀, d₁, u₁) から最短の 10 進表現を選ぶため、3 つの述語で丸め区間と 10 進グリッドの交差を判定する。
あなたへの影響
数値出力パフォーマンスを重視するシステム (JSON シリアライザー・ロギング・メトリクス出力) を手がけるチームは、yy の固定幅算術と述語設計の工夫を参考に実装効率を検証する価値がある。
推奨:視覚的なエクスプローラー (HTML) で E4M3 形式の例を実際に動かしながら学べる。