4

これがばかげた質問であるかどうかは許してください。しかし、インタラクティブフィクション用のより高性能なZ-Machine VMを取得するために、LLVMを使用できるかどうか/どのように使用できるか疑問に思っています。(使用できる場合は、詳細な解決策ではなく、高レベルのアイデアや提案を探しています。)

1978年頃のテクノロジーでより高いパフォーマンスを望むのは奇妙に思えるかもしれませんが、最新のInform 7 IDEで作成されたZ-Machineゲームでは、毎ターン評価する必要のあるルールが膨大なため、パフォーマンスの問題が発生する可能性があります。

ありがとう!

参考:ZマシンアーキテクチャはGraham Nelsonによってリバースエンジニアリングされ、http://www.inform-fiction.org/zmachine/standards/z1point0/overview.htmlに文書化されています。

4

2 に答える 2

2

はい、そうかもしれません。インタープリターをコンパイラーに単純に移植することは、比較的簡単に行うことができます。

とは言っても、それは大きなパフォーマンスの勝利ではありません。ZCode または Glulx のコンパイラの問題は、どちらも比較的低レベルであることです。たとえば、Glulx は間接ジャンプと自己変更コードをサポートしています。それを効率的なネイティブ コードに静的にコンパイルする方法はありません。本当に高速にするには、トレースのコンパイルまたは同様のものが必要になります。

于 2010-04-18T21:40:28.417 に答える
1

Z マシン コードの一種の JIT として LLVM を使用することは確かに可能ですが (ただし困難です)、Inform ソースをより高速な言語に直接コンパイルする方が簡単ではないでしょうか? たとえば、最大速度の場合は C、移植性を優先する場合は .NET または Java です。このルートは、JIT をインタープリターの側にジェリーリギングするよりもはるかに簡単で、パフォーマンスが優れていると思います。

于 2010-04-18T05:18:00.053 に答える