4.1 KiB
4.1 KiB
📊 Nyash初期性能データ(2025年8月29日)
⚠️ 重要:最適化前の貴重なベースラインデータ
これは20日間の開発完了直後、最適化を一切行っていない状態での性能データです。 今後の最適化により大幅な改善が見込まれるため、歴史的価値のある記録として保存します。
🚀 実行環境
- 日時: 2025年8月29日
- マシン: WSL2 (Windows Subsystem for Linux)
- ビルド:
cargo build --release -j32 --features cranelift-jit - Nyashバージョン: Phase 10.10完了直後(コミット: b767251)
📈 性能測定結果
1. シンプルベンチマーク(benchmark_simple.nyash)
プログラム内容:
- フィボナッチ数列計算(20項)
- 配列操作(1000要素の追加)
- 文字列連結(100回)
実行時間比較
| 実行形態 | 実行時間 | 相対速度 |
|---|---|---|
| Interpreter | 0.788秒 | 1.0x(基準) |
| VM | 0.305秒 | 2.6倍高速 |
| JIT | (部分動作) | - |
| AOT | (未測定) | - |
2. ビルトインベンチマーク(simple_add)
--benchmarkオプションによる自動測定:
| 実行形態 | ops/sec | 相対速度 | レイテンシ |
|---|---|---|---|
| Interpreter | 1,734.91 | 1.0x | 576.72μs/op |
| VM | 14,673.87 | 8.46倍 | 68.15μs/op |
| JIT | 14,875.64 | 8.58倍(VM比1.01倍) | 67.22μs/op |
注:JIT速度にはコンパイル時間が含まれているため、実際の実行速度はより高速
3. 実行形態の動作状況
| 実行形態 | 状態 | 備考 |
|---|---|---|
| Interpreter | ✅ 完全動作 | 全機能実装済み |
| VM | ✅ 完全動作 | MIRベース高速実行 |
| JIT | 🔧 部分動作 | Cranelift統合、基本演算のみ |
| AOT | 📦 .o生成確認 | libnyrt.a経由でEXE化可能 |
| WASM | 🌐 コンパイル可能 | WAT形式出力確認 |
🔬 詳細データ
VM実行ログ(抜粋)
Computing Fibonacci...
Fib(20) = 6765
Array operations...
Array size: 1000
String concatenation...
String length: 100
Benchmark complete!
✅ VM execution completed successfully!
メモリ使用状況
- 起動時オーバーヘッド:プラグイン8個ロード
- 実行中:Arcによる安全な参照カウント
プラグインロード時間
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_filebox_plugin.so
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_counter_plugin.so
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_net_plugin.so
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_python_plugin.so
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_string_plugin.so
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_integer_plugin.so
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_map_plugin.so
[PluginLoaderV2] nyash_plugin_init rc=0 for libnyash_array_plugin.so
📊 Python統合性能(Phase 10.5)
ChatGPT5による実装:
py.import("math").getattr("sqrt").call(9).str()
- プラグイン経由でPython実行環境に接続
- Handle型による効率的なオブジェクト管理
- VM経路で完全動作確認
🎯 今後の最適化ポイント
-
JIT最適化
- 型特殊化によるボクシング削減
- インライン展開
- ループ最適化
-
VM最適化
- FastPath拡張
- 命令フュージョン
- キャッシュ効率化
-
メモリ最適化
- Arcの選択的使用
- 小整数の即値化
- 文字列インターン
-
起動時間最適化
- プラグイン遅延ロード
- 事前コンパイル済みMIR
💡 考察
最適化を一切行っていない状態で2.6〜8.5倍の速度向上を達成したことは、アーキテクチャの健全性を示している。今後の最適化により、さらに10倍以上の性能向上が期待できる。
記録者: Claude Code(にゃー!) 協力: ChatGPT5(Python統合実装中) 日付: 2025年8月29日 - 20日間の偉業達成直後 🎉