Repository navigation
Logs Optimization
odashi edited this page Nov 15, 2026
·
1 revision
各記録は比較対象のコミットと測定条件を確認して参照してください。
- final-linux-44100-64:最終版の標準41ケース比較:linux 44,100Hz / 64sample
- final-windows-44100-64:最終版の標準41ケース比較:windows 44,100Hz / 64sample
- 現行41ケースのDSP最適化(2026-11-14)
- A1-effects-shortcut:エフェクトだけの変更でVoice判定を省く
- A10-chorus-inline:Chorus換算関数だけをinline化
- A11-master-exp2:Master音量を2の指数で換算
- A12-synth-typed:Synthの固定パラメーター換算を特殊化
- A13-amount-typed:Cutoff Amountの換算だけを特殊化
- A14:Master Gainの指数換算を両OSで比較
- A15-master-exp-linux:Master Gainの自然指数換算をLinux全体で比較
- A15-master-exp-windows:Master Gainの自然指数換算をWindows全体で比較
- A16-master-platform-exp:Master音量の指数換算をOSごとに選択
- A2-eq-cache:変更していないEQ設定の実値を再利用する
- A3-group-fold:パラメーター群の比較をSIMD化
- A4-inline:正規化換算のインライン展開
- A5-chunks:配列比較を32値で区切る
- A6-entry:入口の全値比較にもchunkを使う
- A7-pitch:Pitchの単位往復を省く
- A8-canonical:型が既知の設定換算を固定indexで行う
- A9-typed:型が既知の実単位換算を展開
- 音声誤差の追加検証
- B10-shared-cutoff-inline:共用倍率の生成経路を明示的に展開
- B10-shared-cutoff-windows:Voice間cutoff倍率共有をWindowsで比較
- B11:パラメーターsnapshot保存の単体比較
- B12-cutoff-amount:Cutoff AmountだけをVoiceへ配送
- B14-windows-cutoff-cache:Windowsの複数Voiceだけでcutoff倍率を共有
- B14-windows-cutoff-cache-linux:Windows限定cacheのLinux側を比較
- B15-windows-cutoff-local:Voice間のcutoff cacheをサンプル内の局所変数へ移す
- B16-windows-cutoff-block:Windowsの定常区間でもVoice間のcutoff倍率を共有
- B17-windows-cutoff-inline:共有cutoffを使う単sample入口だけをinline化
- B18-windows-cutoff-isolated:共有cutoffの大きい本体を通常経路から隔離
- B19-cutoff-final-linux:Windowsのcutoff共有のLinux中立性
- B19-cutoff-final-misses:cutoff共有の発音時刻・Velocity差がある条件
- B19-windows-cutoff-final:Windowsのcutoff共有を単sampleと固定区間へ統合
- B2-mask:設定変更マスクを共有
- B2-multi:共有maskの複数設定同時変更
- B20-cutoff-series-common-linux:共有あり/なしのVoice系列処理を一つに集約
- B20-cutoff-series-common-windows:Voice系列共通化のWindows比較
- B21-cutoff-active-only:無発音経路からcutoff共有の判定を移動
- B22-cutoff-block-outline:共有cutoff系列のstackとレジスタ退避を隔離
- B23-cutoff-sharing-linux:Windowsのcutoff共有をLinuxにも共通化
- B3-mask16:16値ずつ設定変更を集約
- B3-multi:16値maskの同時変更と無変更
- B4-prepared-route:Synthから準備済み生成経路を選ぶ
- B4-slot-gate:未変更slotを先に判定
- B5-postmix:Voiceに影響しない更新の配送を省く
- B6:AVX2によるパラメーター差分maskの比較
- B7-mask-tail:末尾6値の比較結果をSSE2で直接圧縮
- B8-mask-avx2:AVX2差分maskを本体へ組み込む
- B9-shared-cutoff:Voice間でカットオフ変調倍率を共用
- B9-shared-cutoff-misses:カットオフ倍率共有を非同時・別velocityの和音で比較
- C01-dispatch:パラメーター更新の統合比較
- C02-envelope-effects:EnvelopeとEffectsの統合比較
- C03-Windows:Windows機械語で統合版を比較
- C03-conversions:変更項目だけの換算を統合
- C04-core:定位・波形出力・プリワープ・maskの統合
- C05-no-direct-output:発振器配列変更の副作用を切り分ける
- C06-unison-sse2:ユニゾン並列化を統合する
- C07-output-buffer:発振器作業配列の共用を統合
- C09-exact-prewarp:係数式を維持して換算処理を削減
- C10-exact-envelope:エンベロープも元の計算順を維持
- C11-Windows:Windows版で完全一致する統合候補を比較
- C11-align32:関数の32 byte境界配置を比較
- C11-postmix-dispatch:合成後の設定変更でVoice更新を省略
- C14-filter-cache-niche:設定更新とキャッシュ縮小を統合
- C15-three-oscillator-dispatch:固定3発振器の呼出しを統合
- C16-Windows:単一発振器経路までをWindows機械語で比較
- C17-chorus-depth:Chorus Depthの直接更新までを統合
- C21-padding-block:設定更新と系列遅延の削減を統合
- C23-Windows:設定更新の削減をWindows向け統合版で比較
- C24-distortion-fade:通常Distortionの不要な乗算省略を統合
- C28のエフェクト系差分レビュー
- C31: エフェクト系統合差分のレビュー
- C31-windows-integration:Windowsのカットオフ共有を統合して全41条件を比較
- C32: パラメーター配送・Voice・発振器の独立レビュー
- C32-main-linux:統合した読み出し・設定配送を固定mainと比較(linux)
- C32-main-windows:統合した読み出し・設定配送を固定mainと比較(windows)
- D2-eq-sample:単サンプル生成時のEQ Off呼出しを省く
- E00-baseline:基準実装の所要時間とA/A対照
- E1-conversions:エフェクトの係数換算を項目別に省く
- E10-eq-stereo:EQの左右処理をまとめる
- E12-reverb-conversion:Reverbの未変更設定換算を省く
- E12b-reverb-outline:Reverbの設定換算を別関数へ分ける
- E13-reverb-fill:Reverbの履歴充填数を共有
- E18-reverb-mix:Reverb Mixを直接更新する
- E1b-conversions:Clipperの換算条件を修正
- E2-reverb-compressor:Reverbのループ分離とCompressor逆数
- E20-chorus-cast:Chorusの整数変換を範囲に合わせる
- E21-eq-output:EQの固定混合係数を省く
- E25-delay-cast:Delayの遅延位置をu32で換算
- E26-compressor-time-cache:Compressorの未変更時間換算を省く
- E27-eq-bypass:EQのOff判定を小さい入口へ分離
- E28-chorus-equality:Chorus設定の重複同値判定を省く
- E29-compressor-threshold:CompressorのThreshold単独更新を直接適用
- E30-reverb-ready:Reverbの充填完了後の読出しを分離
- E32-reverb-cells:Reverbの読書き位置の参照を再利用
- E33-phaser-center:Phaser Centerだけの変更を直接反映する
- E35-slot-tail:無関係なDistortionとスロット状態の更新を省く
- E36-chorus-lfo:Chorusの左右LFO更新を独立loopへ分離
- E37-chorus-finite-min:Chorusの有限範囲でNaN選択処理を省く
- E38-reverb-bounds:Reverbの遅延線境界検査を準備状態の検証へまとめる
- E39-chorus-tuple:Chorusの内部ステレオ呼出しをレジスタで渡す
- E4-outline:エフェクト設定関数の展開を抑える
- E41-chorus-depth:Chorus Depthだけの変更を直接反映する
- E42-reverb-tuple:Reverbの内部ステレオ受渡しをレジスタへ移す
- E43-compressor-ratio:CompressorのRatio係数を変更時に保持する
- E44-reverb-ring:Reverbの遅延線を共通カーソルのリングへまとめる
- E45-padding-block:エフェクト末尾の固定遅延を系列でまとめて処理する
- E46-distortion-mix:Distortion Mix変更時に固定Gainの換算を省く
- E47-padding-rotate:固定遅延をrotateと履歴交換で簡潔に記述する
- E48-reverb-ring-soa:共通Reverbリングの各線を連続区間へ配置する
- E49-delay-feedback:Delay Feedback変更時の設定再構築を省く
- E5-limiter-off:Limiter無効時のgain計算を省く
- E51-reverb-pair-simd:Reverbの2本ずつのLPFをSSE2で計算
- E52-compressor-tuple:Compressorのステレオ戻り値をレジスタで渡す
- E53-delay-split:Delayの整数位置と小数部を時間変更時に分割
- E55-drive-exp2:Distortion Gainをexp2で換算
- E56-distortion-fade:Distortionの通常時のfade乗算を省く
- E57: エフェクトで使う指数・対数の実行時間
- E58: Distortion Gain換算と後段EQの丸め誤差
- E59-delay-bounded-cast:Delay読出し位置の限定範囲キャスト
- E6-slots-borrow:slot定義配列のコピーを省く
- E60-compressor-windows-exp:WindowsのCompressorゲイン復元にexpを使う
- E61: 微小Kneeでlog2換算の丸め差が増幅される
- E61-compressor-linux-log2:Compressorの検出レベルをlog2へ置き換える比較
- E62: Reverbの帰還加算木と丸め誤差
- E63: ReverbのMix差分形と丸め誤差
- E64: Windows Phaserの指数換算と誤差
- E65-reverb-flat-storage:Reverbの8線を連続領域へ格納する比較
- E66-reverb-boxed-lines:Reverbの固定長履歴をBox sliceで保持する比較
- E67-chorus-depth-preparation:Chorus Depth更新の初期化判定を省く比較
- E68-reverb-filled-kernel:充填済みReverbのwarmup判定を特殊化する比較
- E69-effects-off-outer-guard:Offスロットの系列呼出しを外側で省く比較
- E7-slot-dispatch:slot別設定更新を固定indexへ展開
- E70-chorus-tuple-c28:現行構成でChorusのレジスタ受渡しを再評価
- E71-eq-bypass-c28:現行構成でEQのOff入口分離を再評価
- E72-slot-tail-c28:現行構成で未変更スロット末尾更新を省く比較
- E73: 2段CompressorのKnee境界と指数換算の誤差
- E74-vst-borrowed-parameters:VSTオートメーションで設定配列を参照渡しする
- E74-vst-borrowed-parameters-windows:WindowsのVST設定配送を参照渡しへ変更
- E74-vst-borrowed-parameters-windows-clean:Windowsの参照設定配送を同条件で再測定
- E75-vst-borrowed-current:現行の疎保存とVST参照配送を組み合わせる
- E75-vst-borrowed-current-windows:現行のVST参照配送をWindowsで比較
- E76-eq-prewarp:EQのプリワープをRMS基準で再評価
- E76-eq-prewarp-windows:WindowsでのEQ有理プリワープ比較
- E8-eq-amplitude:EQのgain倍率を保持
- E9-selective-conversion:未変更の種類とDelay換算を省く
- エフェクト精度実験のRMS判定監査
- 音量・Compressorの指数換算と出力誤差
- 大振幅とfloat32出力の誤差
- 最終版のローカル検証
- 最終実装の実VST3経路比較
- Windowsのcutoff指数換算と音声誤差
- Cutoff指数換算と後段Compressorの誤差増幅
- 測定品質と中断した試行
- P1-vst-pitch-only:Pitch専用キューで全パラメータ配送を省略
- P2-vst-parameter-range:VST3オートメーション区間でパラメータsnapshotを保持
- P3-vst-automation-dispatch:VST3の無変更区間とオートメーション配送を整理
- P3-vst-automation-dispatch-windows:VST3配送の整理をWindowsで比較
- 音声誤差の評価基準
- 実行命令数から残った処理を確認する
- R10-limiter-peaks:Limiterのピーク履歴の境界検査を省く比較
- R11-limiter-inline:Limiter単sampleの強制inline比較
- R12:数値が変わったパラメーターだけを保存する比較
- R13-limiter-block-linux:Limiterの系列loopだけで呼出しを省く(linux)
- R13-limiter-block-windows:Limiterの系列loopだけで呼出しを省く(windows)
- R14-numeric-snapshot-linux:変更値だけのDSP設定保存を音源で比較
- R14-numeric-snapshot-windows:変更値だけのDSP設定保存をWindowsで比較
- R15-numeric-snapshot-outline-linux:設定保存を配送本体から分離する(Linux)
- R15-numeric-snapshot-outline-windows:設定保存を配送本体から分離する(Windows)
- R16-limiter-bypass-block:Limiter Offの出力計算を系列入口で省く
- R17-prepared-rate-linux:定常Voice区間のレート比較を先頭へまとめる
- R17-prepared-rate-windows:定常Voiceのレート比較を入口へまとめる(Windows)
- R18-limiter-masked-head:Limiter queueの先頭添字をmaskで表す
- R19-numeric-snapshot-multi-linux:変更値だけの設定保存で複数操作を比較
- R19-numeric-snapshot-multi-windows:変更値だけの設定保存で複数操作を比較(Windows)
- R2-single-oscillator:単一発振器の経路を定数で指定
- R20-limiter-bounded-size-linux:Limiter履歴長の整数変換を狭める(linux)
- R20-limiter-bounded-size-windows:Limiter履歴長の整数変換を狭める(windows)
- R21:Master指数換算とfloat32丸め境界
- R3-voice-stereo-return:Voiceのステレオ戻り値をレジスターへ移す
- R4-codegen1:コード生成単位を1つへまとめる
- R5-thin-lto:Thin LTOによる関数間の最適化
- R6-codegen1-thin:コード生成単位1とThin LTOの組合せ
- R7-limiter-master-loop:LimiterとMasterの出力ループをまとめる
- 小テーブルと多項式による限定範囲の指数換算
- パラメーター配列を借用する内部setter
- V1-envelope-slope:エンベロープの傾きを区間境界で計算する
- V10-direct-banded:帯域波形だけ直接出力する
- V11-mono-pan:単発振器の定位配列コピーを省く
- V12-bounds:範囲既知の波形参照を簡略化
- V13-pm-capture:位相変調closureを値捕捉にする
- V14-signed-envelope:Envelopeの残り回数を符号付きにする
- V15-unison-sse2:2ユニゾンの波形補間を並列化
- V16-output-buffer:Voiceの作業配列を3発振器で共用
- V17-filter-outline:フィルタ係数の再計算処理を分離
- V18-filter-stage-clear:2段目の同値書き戻しを省く
- V19-filter-outline-reference:係数再計算の戻り値を参照にする
- V2-envelope-remaining:Envelopeの残りsample数を再利用
- V20-filter-cache-niche:フィルタ係数キャッシュの空状態を圧縮
- V21-phase-sse2:ユニゾンの位相をSSE2で同時更新
- V22-three-oscillator-dispatch:3発振器の固定順序を定数添字で配送
- V23-phase-sse2-mono:1声の元式を維持した位相SSE2更新
- V24-modulation-mode-setter:位相変調の有効フラグを設定時に更新
- V25-table-compact:帯域テーブル参照情報の圧縮と直接保持
- V26-envelope-niche:Envelopeの入力キャッシュの判別領域を共有
- V27-filter-validation:SVF設定の検証を係数更新時へまとめる
- V28-wave-index:波形セル添字の不要な符号拡張を省く
- V29-envelope-cast:通常範囲のサンプル数を符号付き整数から換算
- V3-prewarp:プリワープを有理式へ置き換える
- V30-envelope-asm:通常サンプル数の換算をinline assemblyで固定
- V31-band-inline-linux:通常帯域波形のinline展開:Linux
- V32-band-inline-windows:通常帯域波形のinline展開:Windows
- V33-band-sysv-windows:通常帯域波形の非公開関数でSysV呼出し規約を比較
- V34-voice-inline-linux:Voiceの単サンプル本体を親のボイスループへ展開
- V35-voice-inline-windows:Voiceの単サンプル本体を親ループへ展開:Windows
- Windowsの連続カットオフ換算と数学関数の費用
- V37-windows-cutoff-exp:Windowsの動的カットオフ倍率をexpで求める
- V38-unison-slices:SSE2ユニゾンの反復を同長sliceで処理
- V39-unison-avx:4ユニゾンのAVX補間
- V4-sine-cast:Sineの範囲既知キャスト
- V40-oscillator-layout:Oscillatorのホットフィールドを近接配置
- V41-sine-grid:正弦波の象限と補間区間を1回の整数変換で取得
- V42-remove-raw-pm:製品が使用しない生波形PM経路の削除
- V43-remove-raw-pm-windows:未使用の生波形PM削除:Windows比較
- V44-filter-two-stages:SVFの1段目と2段目を固定添字で明示
- V45-envelope-inline:Envelopeの更新を呼出し元へ展開
- V46-lazy-adaa-bank:位相変調が有効な発振器だけ原始関数の帯域を準備
- V47-lazy-adaa-bank-windows:位相変調を使わない帯域準備省略のWindows評価
- V48-adaa-valid-hoist:無変調時のADAA履歴無効化を準備時へ移す
- V49-lazy-adaa-bank-u8:ADAA帯域準備省略でState配置を維持する
- V5-table-cache:波形表の位置と長さを保持
- V50-lazy-adaa-bank-u8-windows:配置を維持したADAA帯域準備省略のWindows評価
- V51-adaa-floor-windows:WindowsのADAA位相折返しを厳密な切捨てと補正で計算
- V52-pm-phase-update:ADAA履歴と保持位相の更新で計算を共有
- V53-adaa-floor-inline-windows:Windowsの位相折返しと原始関数展開を同時に評価
- V54-adaa-index:ADAAテーブルの非負インデックスをzero extensionで広げる
- V55-adaa-bounds:ADAAセルの境界検証を不変条件の下で省略する
- V56-adaa-bounds-windows:WindowsでのADAAセル境界検証省略
- V57-adaa-sse41-windows:SSE4.1でADAAの位相折返しを同じfloor式のまま評価する
- V58-adaa-safe-cell:ADAAの係数を安全な48バイトセルとして一括取得する
- V59-adaa-safe-cell-windows:WindowsでもADAAセルを安全なスライスとして取得する
- V6-prepared-entry:単sample入口で準備済み経路を選ぶ
- V60-pm-single-series:位相変調の系列生成でOsc2/3を1発振器として特殊化する
- V61-pm-single-series-windows:Windowsでの位相変調系列の1発振器特殊化
- V62-avx-fallback:AVX4の生成経路を既存SSE2 fallbackから分離する
- 最終DSP差分の重点Miri検証
- Envelope・プリワープの誤差指標の再評価
- Envelope・プリワープ変更の下流境界検査
- 最終C36の音声精度検証
- V7-prewarp-hybrid:小さい引数のプリワープを短縮
- V8-direct-output:発振器の出力配列への直接書込み
- V9-direct-periodic:通常周期波だけ出力先を共通化
- final-linux-48000-256:最終版の標準41ケース比較:linux 48,000Hz / 256sample
- final-linux-96000-512:最終版の標準41ケース比較:linux 96,000Hz / 512sample
- final-windows-48000-256:最終版の標準41ケース比較:windows 48,000Hz / 256sample
- final-windows-96000-512:最終版の標準41ケース比較:windows 96,000Hz / 512sample
- 12時間の最適化検討(2026-11-04)
- 同一ソースのビルド対照試験
- C1-combined: 第1統合候補:不要な発音処理とテーブル参照の整理
- C12-combined: 絶対時刻Envelope・位相変調・クリッパー系列化の統合比較
- C14: 同位相32音・最大音量での長いAttack比較
- C2: 第2統合候補 — EnvelopeとステレオFilter
- C3: 第3統合候補
- C4-combined: 第4統合候補
- C9-combined: 系列生成を含む統合候補と固定基準の比較
- ディストーションの数式整理と小区間近似(第1報)
- Hardクリッパーの状態書込みと処理分岐
- Softの飽和域における計算省略
- Distortionの内部呼出しで配列のスタック往復を省く
- Distortionの系列処理で呼出しと履歴読出しを減らす
- Distortion系列化後の履歴保持とinline境界
- Clipper切り替え先の重複状態を削除
- Soft ADAA2の条件付き交換をビットマスクへ置換
- 純Wet・低Gainに限定したSoft小振幅近似
- 初期Distortion候補の補足測定6件
- D19: 統合後のSoft小振幅多項式と必要時F2
- ディストーションの差商キャッシュとテーブル範囲
- D20: 既存の直接式を使ったF2の遅延生成
- D21: 最終版に残るDistortionのコストと次の課題
- Distortion: 左右が同じときのADAA2計算共有
- Distortion: 差商・近接点・定数除算の計算経路比較
- HardクリップのADAA2積分式の整理
- Distortion: 除算回数とSIMDの比較
- Distortion: Softテーブルの次数・間隔・飽和範囲
- Distortion: 線形表と通分の組合せ
- Distortion: 小振幅ADAA2を直接多項式で計算する
- Envelope:毎サンプルのAHDSR再計算の省略
- Envelope / Filter:対応のある測定の全統計量
- 最終実装の音声精度検証
- 最終性能検証:Polyphony・Unison容量18条件
- 最終CIのABI検証fixtureの修正
- 最終配布版の音声直接比較
- 最終採用版の96 kHz・60分連続差分検証
- 最終性能検証:E-coreでの8条件
- 最終性能検証:事前に固定した追加18条件
- 最終性能検証:Linux VST3・SAMPLE32
- 最終性能検証:Linux VST3・SAMPLE64
- 最終実装の96 kHz・60分連続差分検証
- 最終DSP差分の独立レビュー
- 最終性能検証:サンプルレート・バッファ長32条件
- 最終性能検証:レート・バッファ長32条件の独立再確認
- 最終性能検証:標準演奏・連続操作23条件
- 最終性能検証:Windows VST3・SAMPLE32(Wine 11)
- 最終性能検証:Windows VST3・SAMPLE64(Wine 11)
- R61追加前の独立測定:Polyphony・Unison容量18条件
- R61追加前の独立測定:E-coreでの8条件
- R61追加前の独立測定:事前に固定した新規18条件
- R61追加前の独立測定:Linux VST3・SAMPLE32
- R61追加前の独立測定:Linux VST3・SAMPLE64
- R61追加前の独立測定:サンプルレート・バッファ長32条件
- R61追加前の独立測定:標準演奏・連続操作23条件
- R61追加前の独立測定:Windows VST3・SAMPLE32(Wine 11)
- R61追加前の独立測定:Windows VST3・SAMPLE64(Wine 11)
- L1: 30分の連続演奏での差分検証
- L2: 系列生成を含む30分の連続演奏
- Synth / Distortion の Miri 比較
- O1: 位相ADAAテーブルの参照渡し
- O10: 通常波形係数のf64保存
- O11: Sine象限の整数変換
- O12: 位相ADAAのテーブル記述を共有参照にする
- O13: 補助発振器の単音特殊化
- O14: 位相変調履歴と保持位相の同時更新
- O15: SineのADAA2を局所モーメントで求める
- O16: 保持位相更新のSSE2並列化
- O17: 通常Sine読出しのSSE2並列化
- O18: 64bit固定小数点位相と整数LUT索引
- O19: 通常波形の3次補間をSSE2で評価する
- O20: 実ユニゾン数を設定変更時に保持する
- O21: Sineの2階原始関数を半周期へ折り畳む
- O22: 発振器の定常入力準備とVoice系列生成
- O23: 位相3点のソートをSSE2 min/maxへ置き換える
- O24: 波形・原始関数テーブルの64バイト整列
- O25: 位相変調の一方向の依存関係に沿った区間処理
- O26: Sineの2階ADAAテーブルをコンパイル時に固定する
- O27: 精度と命令列まで確認した小規模候補
- O28: 準備済みの非変調経路で位相オフセット計算を省く
- O29: Voice内部のステレオ戻り値をレジスターで渡す
- O3: 位相の整数周期除去を整数変換へ置換
- O30: 定常入力の反映状態をVoiceで保持する
- O31: 変更した発振器だけを再準備する
- O32: PM系列処理の重複した入力更新を除く
- O33: 最新統合版でフィルタの段数だけをキャッシュする
- O34: 無出力のADAA helperを空配列で返す
- O35: 無出力の帯域波形helperだけを省く
- O36: 未使用Voiceに残る停止通知の時刻を回復する
- O37: 実装規模と責務の監査
- O38: 測定用バイナリの由来と独立ビルドの確認
- O39: 最終統合版へのSineキャリア近似の移植
- O4: 通常波形テーブルの参照を保持
- O40: MiriのRMS検証失敗の切り分け
- O41: 残る発振器コストと次の課題
- O5: 浮動小数点の格子を使う周期除去
- O6: 位相変調ADAAのF2履歴再利用
- O7: 検証済み発振器入力の内部入口
- O8: 通常波形の補間演算をf32へ変更
- O9: 通常波形の2点線形補間
- P1: 実行命令数から残った処理を調べる
- P2: 系列生成を含む統合候補の命令・メモリー・分岐
- 統合後の残存処理:6条件のCallgrind比較
- R1: 未使用Voiceの処理省略
- R10: 完全な無音になったVoiceの休止
- R12-enabled-settings: 設定変更の配送先を有効なPolyphonyへ絞る
- R13-active-cursors: 実際に変化しているVST3カーソルだけを更新する
- R14-batched-muted: 消音中の補助発振器の更新を系列へまとめる
- R15: x86-64-v3向けのコンパイラー最適化
- R16-floor-sse41: 位相折返しのfloorをSSE4.1で局所置換する
- R17-cursor-slope: オートメーション区間の傾きをキャッシュする
- R18-sparse-cursors: 変更キューのあるパラメーターをビット集合で走査する
- R19-stereo-svf: ステレオSVF状態をまとめた場合の統合版での比較
- R2: 消音中の発振器は状態だけを進める
- R20-adaa-sse41: ADAA関数全体をSSE4.1で特殊化する
- R21-gain-conversions: Gain・Mix換算の差分更新
- R22-primitive-chunk: 原始関数テーブルの4点取得を一度の範囲確認にまとめる
- R23-primitive-pointers: ADAAのバンド情報を静的テーブル参照にする
- R24-lazy-bands: 使用する波形テーブルだけを設定する
- R25-envelope-conversions: AHDSR換算を変更項目に限定する
- R27-primitive-pointers-root: ADAA静的参照を統合候補へ適用した比較
- R28: 実測プロファイルを使う最適化(PGO)
- R29-envelope-reuse: 既存Envelope設定を再利用して指数換算を限定する
- R3: Thin LTOとコード生成単位の集約
- R30-envelope-events: ノート境界をEnvelopeへ通知する
- R31-mono-volume: 単一発振器の音量処理を明示する
- R32-active-oscillators: 音量Envelope停止後の発振器呼出しを省く
- R33-frequency-cache-tuple: 計算済み入力の余分な有効フラグを除く
- R34-exhausted-automation: 変更キューの最終点以降をまとめて処理する
- R35-output-peaks: 左右ピークから無音フラグをまとめて求める
- R36-pgo-bounded: PGOのインライン閾値を制限する
- R37-constant-automation: パラメーターが一定の区間を検出する
- R38-prepared-combined: 定常入力の準備を系列の先頭へまとめる
- R39-tiny-series: 1サンプル区間の系列用作業領域を省く
- R4: Clipper Noneの早期return
- R40-peak-conversion: 表示用ピークのf32換算を区間末尾へ移す
- R41-cached-automation: パラメーターの一定区間の終端を保持する
- R42-automation-segments: 変更点の境界だけで一定区間とランプを分ける
- R43-automation-outlined: 一定区間とオートメーションの生成入口を分ける
- R44-local-dry: Dryの前回値を系列ループのローカル変数へ保持する
- R45-phase-pipeline: 位相変調の系列生成を20ブロックで再確認する
- R46-constant-series-boundary: 一定区間生成のコードを独立させる
- R47-parameter-borrow: 設定更新の変更前配列を借用する
- R48-output-chunks: VST3出力区間と作業領域の再利用を広げる
- R49-cgu1: コード生成単位を1へまとめる
- R5-queues: VST3の変更キューを一度だけ列挙する
- R50-opt2: 最適化レベル2を比較する
- R51-parameter-equality: 設定配列の比較を短絡しない形へ変更する
- R52-same-parameters: VST3からの同値設定を入口で省く
- R53-prepared-mask: 発振器ごとの再準備を20ブロックで再確認する
- R54-thinlto: 系列化後のThin LTOを再評価する
- R55-envelope-reuse: 変わらないEnvelope実単位の再利用を20ブロックで確認する
- R56-oscillator-conversions: 変わらないTune倍率と発振器音量の換算を省く
- R57-wet-dry: 純Wet区間のDry加算を最終サンプルへ限定する
- R58-parameter-bits: 正規化値の配列比較を整数bit比較へ置き換える
- R59-state-alignment: 音源Stateの先頭をキャッシュライン境界へ揃える
- R6-conversions: DistortionのMix変更でGainを再換算しない
- R60: 発音終了後のVoice系列処理
- R61: 発音終了後の分岐をcold pathとして配置する
- R7-block: Voiceごとに短いサンプル系列を処理する
- R8: Resonance単独変更時のCutoff換算を省く
- R9-volume-refresh: 音量補正の再計算を変更時だけに限定する
- Envelope・Filter・Voiceに残る費用と次の課題
- 12時間最適化実験の再現資料
- 系列化した統合候補の独立レビュー
- S1: DSP状態のメモリー量
- W1: Windows MSVC版の実VST3呼び出し
- W2-linux-vst: 実際のLinux VST3呼出しで統合版を比較する
- W3-current-windows: 統合版をWindows用DLLで比較する
- W4-chunk64: 64サンプル区間をWindows実DLLで確認する