Files
hakorune/docs/private/papers/paper-d-jit-to-exe/implementation-schedule.md

120 lines
3.4 KiB
Markdown
Raw Normal View History

# JIT→EXE実装スケジュール
## 📅 全体スケジュール6週間
### Week 0: 準備期間(リファクタリング待ち)
- ChatGPT5のリファクタリング完了待機
- Cranelift/lld調査・準備
- テスト環境構築
### Week 1-2: 基礎実装
- [ ] C ABIファサード実装`ny_mir_to_obj`
- [ ] Cranelift統合基本的なMIR→CLIF変換
- [ ] 簡単なプログラムでの動作確認
### Week 3: リンカー統合
- [ ] lld内蔵実装
- [ ] プラットフォーム別リンカーラッパー
- [ ] nyashrtランタイム作成
### Week 4: 最適化・改善
- [ ] プロファイルベースJIT判定
- [ ] オブジェクトファイルキャッシュ
- [ ] エラーハンドリング改善
### Week 5: 評価・ベンチマーク
- [ ] 性能測定スイート作成
- [ ] 他言語との比較
- [ ] ボトルネック分析
### Week 6: 論文執筆
- [ ] データ整理・グラフ作成
- [ ] 各セクション執筆
- [ ] レビュー・推敲
## 🔧 技術的マイルストーン
### Phase 1: Minimum Viable Compiler
```bash
# 最小動作確認
echo 'box Main { main() { print("Hello from EXE!") } }' > test.ny
nyash build test.ny --backend=cranelift
./test.exe # or ./test on Linux
```
### Phase 2: Real-World Programs
- サイコロRPGのEXE化
- 統計計算ツールのスタンドアロン化
- ベンチマークプログラムの移植
### Phase 3: Self-Hosting Preparation
- Nyashコンパイラ自身のAOTコンパイル
- ブートストラップテスト
- 配布パッケージ作成
## 📊 成功指標
### 技術的指標
- [ ] Hello WorldがEXE化できる
- [ ] 全スモークテストがAOTで通る
- [ ] JIT性能の90%以上を達成
- [ ] バイナリサイズ < 5MB
### 論文的指標
- [ ] 13命令での完全性証明
- [ ] 性能評価データ収集完了
- [ ] 関連研究との差別化明確
- [ ] 実装の再現可能性確保
## 🎯 リスクと対策
### リスク1: Cranelift API変更
- **対策**: バージョン固定、抽象化層
### リスク2: プラットフォーム依存
- **対策**: CI/CDでの継続的テスト
### リスク3: 性能目標未達
- **対策**: プロファイリング、段階的最適化
## 💡 論文投稿戦略
### 投稿先優先順位
1. **PLDI 2026** (締切: 2025年11月)
- プログラミング言語の最高峰
- JIT/AOT統合は完璧にマッチ
2. **CC 2026** (締切: 2025年10月)
- コンパイラ専門会議
- 技術的深さを評価
3. **ASPLOS 2026** (締切: 2025年8月)
- システム寄りだが可能性あり
- 性能面を強調
### 差別化ポイント
- **極小IR13命令**: 前代未聞のシンプルさ
- **完全自立**: 外部ツールチェーン不要
- **実証済み**: 自己ホスティング成功
- **実用性**: 実際のアプリケーションで検証
## 🚀 実装開始チェックリスト
### 環境準備
- [ ] Cranelift最新版の調査
- [ ] lldのビルド方法確認
- [ ] Windows/Linux両環境準備
### コード準備
- [ ] MIR→Cranelift変換の設計
- [ ] C ABIヘッダー作成
- [ ] テストケース整理
### ドキュメント準備
- [ ] API仕様書
- [ ] ビルド手順書
- [ ] トラブルシューティング
---
**次のステップ**: ChatGPT5のリファクタリング完了を待ちながら、Cranelift APIの学習とプロトタイプ作成を開始