Files
hakorune/docs/private/research/paper-07-nyash-one-month/benchmarks/initial-performance-data.md

4.1 KiB
Raw Blame History

📊 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経路で完全動作確認

🎯 今後の最適化ポイント

  1. JIT最適化

    • 型特殊化によるボクシング削減
    • インライン展開
    • ループ最適化
  2. VM最適化

    • FastPath拡張
    • 命令フュージョン
    • キャッシュ効率化
  3. メモリ最適化

    • Arcの選択的使用
    • 小整数の即値化
    • 文字列インターン
  4. 起動時間最適化

    • プラグイン遅延ロード
    • 事前コンパイル済みMIR

💡 考察

最適化を一切行っていない状態で2.6〜8.5倍の速度向上を達成したことは、アーキテクチャの健全性を示している。今後の最適化により、さらに10倍以上の性能向上が期待できる。


記録者: Claude Codeにゃー 協力: ChatGPT5Python統合実装中 日付: 2025年8月29日 - 20日間の偉業達成直後 🎉