当前位置:  开发笔记 > 编程语言 > 正文

为什么IronPython比官方Python解释器更快

如何解决《为什么IronPython比官方Python解释器更快》经验,为你挑选了4个好方法。

根据这个:

http://www.codeplex.com/IronPython/Wiki/View.aspx?title=IP20VsCPy25Perf&referringTitle=IronPython%20Performance

IronPython(Python for .Net)在同一台机器上比常规Python(cPython)更快.为什么是这样?我认为编译的C代码总是比等效的CLI字节码快.



1> Cody Brociou..:

Python代码不会被编译为C,Python本身是用C编写的并且解释Python字节码.CIL被编译为机器代码,这就是为什么你在使用IronPython时看到更好的性能.



2> vartec..:

你是对的,C快得多.这就是为什么在这些结果中CPython的速度是字典的两倍,这几乎是纯粹的C.另一方面,Python代码没有被编译,它被解释了.CPython中的函数调用非常慢.但另一方面:

TryRaiseExcept:  +4478.9%

现在,IronPython获得的地方非常糟糕.

然后,有这个PyPy项目,其中一个目标是Just-In-Time编译器.甚至还有Python的子集,称为RPython(Reduced Python),可以静态编译.这当然是一个很大更快.


PyPy团队并不真的想鼓励人们使用RPython.他们将其视为PyPy的一个实现细节 - 它一直在变化,文档很差,并且报告错误.他们专注于使PyPy JIT足够快,你不需要*使用RPython来获得速度......

3> Jason Baker..:

我不确定你是如何得出IronPython比CPython更快的结论.您发布的链接似乎表明他们擅长不同的事情(如已经指出的例外情况).



4> Precipitous..:

徘徊在你的问题"为什么?","哦,真的吗?" "擅长不同的事情"(杰森贝克)是对的.例如,cpython击败IronPython开始时间.

c:\Python26\python.exe Hello.py
c:\IronPython\ipy.exe Hello.py

Cpython几乎立即(<100ms)执行一个基本的hello世界,其中IronPython的启动开销为4或5秒.这让我很烦,但还不足以阻止我使用IronPython.


这不是CPython优于IronPython的优势.4或5秒是CLR的启动时间,而不是IronPython的启动时间.
推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有