2
IronPython有没有相当于Cython的东西?也就是说,一种使用类型注释来编译简单函数以提高性能的方法?我知道IronPython的好处之一是能够快速编写类似于C#或F#的函数,然后导入它们,但这对于只熟悉Python的用户来说可能有些负担。IronPython的Cython
IronPython有没有相当于Cython的东西?也就是说,一种使用类型注释来编译简单函数以提高性能的方法?我知道IronPython的好处之一是能够快速编写类似于C#或F#的函数,然后导入它们,但这对于只熟悉Python的用户来说可能有些负担。IronPython的Cython
嗯.. IronPython的是already way faster比好醇” CPython的:)
说了这么多,你可以创建从PYC(看看<IronPython 2.6 Install Dir>\Tools\Scripts\pyc.py
)源二进制文件。
它看起来像有一些输出选项,包括制作一个DLL。我认为这是可能的import
这样的DLL从一个常规的.py
程序(我从来没有尝试过这个虽然)。
我真的不知道这是否会提高IronPython已经获得的性能(它可能会缩短启动时间)。
更新:
我只是做了一下测试,并转换为EXE给了我一个真正的边际3-5%的速度提高,并且不利于启动时间。这似乎是一个好主意:|
我不是在谈论CPython,我是在谈论Cython。 Cython是从pythonesque代码编译的C编译的。对于数字代码,这可能导致速度比CPython或Ironpython增加500倍。其次,IronPython比CPython要快得多:它有竞争力,有时比较慢,有时速度更快。例如,该页面上的Richards基准测试速度是其缓慢的两倍。 – Tristan 2010-01-12 22:40:38
对不起,我重新阅读我的答案,可以看到它会有点混乱。我的观点是,IronPython已经被动态编译为机器代码;如果您转换为EXE,您将获得一个DLR二进制图像,该图像将自动编译为机器码。我无法想象你能得到比这更快的速度(也许在C#中编写一个DLL,然后调用它会更快,但是你会写C#)。另外 - 根据我的经验(使用我的程序),如果排除启动时间(这是很多要排除的),IronPython比CPython更快。 – Seth 2010-01-12 23:26:54
如果您想提高启动时间,您应该使用AOT IronPython库。 – 2012-01-26 20:52:10