2014-03-18 95 views
2

我听说PyPy有它自己的JIT编译器。我正在考虑使用PyPy的翻译器脚本来实现一种语言来将RPython转换为C.所以我想知道PyPy在哪里运行? Python可以在任何地方运行吗?或者它只能运行在特定的CPU上?Python可以运行PyPy吗?

+0

缺少什么细节? – Tobias

+0

@Tobias我听说JIT在x86和ARM上工作过,但是当你不做JIT时,我想知道从RPython翻译器生成的代码。 – user3318845

回答

4

读取RPython源代码,似乎当前x86和ARM(都是32/64位)都支持jit。

如果没有jit,它应该是每个运行ANSI C编译器的平台,或者更好的是与GCC兼容的平台。 Pypy被转换为普通(但不容易读为人类)C.

0

是的,你可以运行PyPy无处不在那里你可以运行Python:

PyPy在RPython实现。

R代表限制。 RPython是Python的的一个子集。所以任何 Python解释器实现应该能够解释并运行RPython代码。因此,无论哪里都有可以运行Python代码的解释器,您可以运行PyPy。

但是,这将是狗慢。您将使用Python解释器(CPython,Jython,IronPython)运行另一个Python解释器(PyPy)来运行您的Python代码。

这就是为什么当你build PyPy from source你翻译成C代码并编译它。

观看Dave Beazley's Keynote of PyCon US 2012有一个有趣的介绍真正发生的事情。