与其他.net语言相比,ironpython的速度如何?

Pab*_*blo 10 .net python performance ironpython

我想为我所说的内容提供消息,但我没有它们,这是我听到的.

一旦编程教授告诉我,在某些特定项目中对.net和Python进行了一些软件基准测试,它给出了5:8的关系,支持.NET.这是他支持Python不比.NET慢得多的论点

这就是问题,我想尝试IronPython,因为我可以将我最熟悉的Web框架(asp.net)与我最喜欢的语言(Python)结合起来,我想知道asp.net中程序的速度在Python中使用VB.net或C#的ASP.NET程序的速度.有没有针对此的软件基准测试?

另外,与其他.NET语言相比,IronPython的速度不应该相似,因为IronPython不像Python那样必须编译成.NET中间代码吗?有人可以在这些问题上让我高兴吗?

问候

Red*_*yph 9

以下是两个有趣的链接,包括IronPython,CPython和C#(以及其他)之间的比较:

  • CPython与C#(Mono)基准测试,基于网站上详述的几个程序.
  • 对于版本2.6,基于PyStone和PyBench的CPython与IronPython 基准测试.

显然,这与你教授告诉你的内容一致.但是如你所知,这在很大程度上取决于你使用的是什么.

差异主要是由于Python中使用的对象的动态特性,而C#是强类型的.因此,IronPython在运行C#(CLR - 公共语言运行时)之上再使用一个级别(DLR - 动态语言运行时)来解决这种差异.

我通常不愿引用维基百科的文章,但这是一个很好的起点:http://en.wikipedia.org/wiki/Dynamic_Language_Runtime

现在回到你的项目,性能可能更依赖于你的算法/启发式 - 你如何查询数据库 - 而不是语言.如果您熟悉Web框架并对它感到满意,那么坚持使用相同的环境而不是获得可能首先要驯服的东西的几个百分比是个好主意.如果应用程序当然是CPU密集型的,那就不一样了.