投機的評価 (別名、投機的実行) は、時折の手直し (非効率) を犠牲にして、低レイテンシーのコードを実現するための効果的なアプローチです。投機的評価は、現代のコンピューター アーキテクチャで一般的な低レベルの手法ですが、高レベルのプログラミング モデルでサポートできます (タイム ワープ プロトコル、時相論理、リアクティブ プログラミング モデルを参照)。
投機的評価が特に役立つと思われる場所の 1 つは、ライブ コーディングやゲームなどのオーディオのリアルタイム計算です。アイデアは単純です。オーディオ バッファーを投機的に満たしてバッファー アンダーランを防ぐことができますが、最後の瞬間の変更に対応する必要がある場合は、それらのバッファーを時々修正します。このような手法は、依然として不具合を起こす可能性があります。更新が遅れていると、前面が少し切り落とされる可能性があります。しかし、推測されたサウンドのほとんどはまだほとんど正しいはずなので、これは通常のアンダーランとは異なる (潜在的により優雅な) グリッチのモードです。
さて、私が疑問に思っているのは、どのオーディオ API またはライブラリが、既存のバッファに対するこれらの最後の瞬間の更新を最も効果的にサポートするかということです。私は健全なプログラミングの専門家ではありませんが、私が見たほとんどのサンプル コードは、バッファーへのコミットメントを想定しているようです。バッファを読み込んだ後にバッファにコミットしている場合、レイテンシとアンダーランのリスクとの間でトレードオフを行うしかありません。コミットメントを必要としないオーディオ API はどれですか?