如果我已经有解释器,为什么还要使用VM(如Parrot)作为我使用的动态语言(Python,Perl等)?通过在代码和计算机之间使用不同的VM以及使用单独的解释器,我可以潜在地获得什么?

(我是VM问题的新手,所以答案很明显)

编辑

What's the benefit of Parrot VM for end-users?

最佳答案



首先,如果您正在启动一个项目,那么您可能还没有解释器。

但是,假设您有一个解释器,并且正在考虑是否要向其添加功能或使用Parrot对其进行重写,那么想到的折衷方案是:

  • 通常,Parrot可能比有问题的解释器(更好的优化器,更好的垃圾收集器等)受到更好的测试。
  • 通常,Parrot的开发人员比一般的程序员
  • 更了解跨平台问题
  • 通常,Parrot解决了您可能会遇到的大多数问题
  • Parrot在设计时考虑了完全的通用性,这增加了很多复杂性。您可能不需要额外的通用性

  • 就个人而言,Parrot的优化器(和基于寄存器的设计,很大程度上是为了使优化更容易)和经过良好测试的跨平台代码库足以说服我。

    关于python - 如果我有解释器,为什么要使用Parrot(或其他VM)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7093883/

    10-13 09:10