Asayomu Tech
注目★★★★★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 形式の例を実際に動かしながら学べる。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。