Files
hakorune/docs/private/roadmap/phases/phase-20.12/TASKS.md

2.5 KiB
Raw Blame History

Phase 20.12 — Tasks & Checklist (Optimization)

Status: Planned

Objectives

  • EXE: C の 6080% を安定達成
  • VM : Python と同程度±20%

Deliverables

  • AotPrepBoxJSON 正規化/安全な単一ブロック定数畳み込み)
  • AotPrepBox inplace 置換main 優先→関数走査。first block の instructions を直接置換して const→ret に簡約)
  • dev/quick で HAKO_AOT_PREP/HAKO_AOT_PREP_LANG 既定ONdocs/スモーク整合)
  • VMHotPathBox軽量ディスパッチ/メソッドマップ事前構築)
  • ゲート: HAKO_AOT_PREP=1, HAKO_VM_FAST_PATH=1quick 既定ONenv-variables.md 掲載)
  • マイクロベンチスモークdist 形状の起動手順つき)
  • Docs 追記getting-started / c-abi-aot / distribution
  • emit-exe 完了時に MIR サイドカーを短文で表示([emit-exe] mir: <path>
  • HAKO_SAVE_MIR=1 で <exe>.mir.json を保存HAKO_AOT_PREP=1 時は前処理後のMIRを保存
  • subtract ベースライン & inprocesssum/mulを代表に昇格ベンチREADMEに記載
  • PHI LocalizationLocalizationPhiBox導入単一predは pred 終端値を直接 i64 正規化して使用
  • console 降ろしで PhiDispatch→0 の場合に LocalizationPhiBox / pred snapshot フォールバックを実装
  • predeclare ポリシーの明確化multipred のみ predeclare空PHIを回避
  • ProgressGuardBoxNYASH_LLVM_LOOP_PROGRESS_GUARD=1: 進捗未更新ループで latch に i++ を合成while_.py
  • LoopForm payload 配線NYASH_ENABLE_LOOPFORM=1: payload_phi に i_next を合流し、確実に進捗を materialize
  • PHI wiring 検証強化empty/incomplete の短文ログ)

Acceptance

  • EXE: 代表マイクロベンチで C の ≥0.6×(関数呼び出し/ループ/配列)
  • VM : Python と ±20% 以内
  • 短文診断/FailFast維持、既存スモークは緑
  • dev/quick 既定ONで emitexe MIR サイドカーの短文・保存内容が安定
  • subtract/inprocess のいずれかで EXE 比率が 0.6× 以上を確認
  • 固定N(小)の new/extern を含むループで EXE が timeout せず完走Box birth 固定N
  • STRICT スモークprint(loop var) / print(ifmerge) の EXE 経路が PASS

Bench Setup

  • OS: Linux / macOSWindows は SKIP 基準)
  • リンカ: clang -fuse-ld=lld 推奨Linux
  • 計測: hyperfine または内蔵スクリプトで3回以上の中央値