4

如果这是一个愚蠢的问题,请原谅我,但我想知道是否/如何使用 LLVM 为交互式小说获得更高性能的 Z-Machine VM。(如果可以使用,我只是在寻找一些高级的想法或建议,而不是详细的解决方案。)

期望 1978 年左右的技术具有更高的性能似乎很奇怪,但显然由现代 Inform 7 IDE 制作的 Z-Machine 游戏可能会出现性能问题,因为每回合都需要评估大量规则。

谢谢!

仅供参考:Graham Nelson 对 Z-machine 架构进行了逆向工程,并记录在http://www.inform-fiction.org/zmachine/standards/z1point0/overview.html

4

2 回答 2

2

是的,它可能是。解释器到编译器的简单移植可以相对容易地完成。

也就是说,这不会是一个很大的性能胜利。ZCode 或 Glulx 的任何编译器的问题在于它们都是相对低级的。例如,Glulx 支持间接跳转和自修改代码。没有办法将其静态编译成高效的本机代码。使其真正快速需要跟踪编译或类似的东西。

于 2010-04-18T21:40:28.417 回答
1

将 LLVM 用作 Z 机器代码的一种 JIT 肯定是可能的(但很困难),但是直接将 Inform 源代码直接编译成更快的语言不是更容易吗?例如,C 以获得最大速度,如果您更喜欢可移植性,则使用 .NET 或 Java。我怀疑这条路线会比简单地将 JIT 安装到解释器一侧更容易,性能更好。

于 2010-04-18T05:18:00.053 回答