朱莉娅在pypy中的Python性能示例

SFu*_*n28 23 python pypy numpy python-2.7 julia

Julia是一种新的统计编程语言,其声称性能明显优于竞争语言.我正试图验证这一点.Julia有一个用Python编写的性能测试:https: //github.com/JuliaLang/julia/blob/master/test/perf/perf.py

我不能让它与pypy一起工作.也许这是因为numpypy与numpy不兼容,但我还没有达到足够的程度来确定这一点.我按照ImportError建议,"...or just write 'import numpypy' first in your program..."但我得到另一个ImportError:"No module named numpy.linalg"

我对Python几乎没有经验,我正在寻找一个可以运行的完整解决方案.让它发挥作用的好处是我们可以进行一对一(jit lang-to-jit lang)比较.

Die*_*Zea 23

蟒蛇和朱莉亚表演的测试

在纯Python中有Julia git(perf.py)的4个测试.在这里,我在同一台计算机上运行perf.py(只有纯Python测试)和perf.pl进行苹果对苹果的比较.我对Python/Pypy计时有点担心:/

并且...为什么

## fibonacci ##

def fib(n):
    if n<2:
        return n
    return fib(n-1)+fib(n-2)
Run Code Online (Sandbox Code Playgroud)

Pypy比Python慢​​?


我在https://bugs.pypy.org/issue1344中发布这个问题[Pypy在递归中比Python2.7,Python3.2和Julia慢]我得到了下一个答案:

这是一种预热时间非常重要的情况(它试图内联所有的递归),但是一旦你把它加热,它实际上非常快.

所以,我为fib(n)做了不同数量的n的文本.事实上,Pypy比Python更快,但是递归速度比Julia慢:

[ 加粗更快的python实现]

Pypy Python和Julia的递归


因为使用递归实现,Quicksort和fib在Pypy中较慢. 朱莉娅似乎比PyPy更快.

  • 好东西,迭戈.虽然我不完全确定这是如何转换为"Julia和PyPy具有相同的性能".这看起来很像"朱莉娅总是赢得并经常相当多";-) (18认同)

fij*_*jal 5

Linalg目前尚未实施.我认为一个新的ffi和1.9出门(需要相当多的numpy修复,看到错误跟踪器)是最重要的.我认为现在没有linalg 是有趣的.我们希望首先有更多的numpy运行.尽管如此,我仍然愿意相信.参数?

  • 我不能说我对pypy v.julia的好奇心比你已经预定的更高优先级=)也许其他人被linalg阻止并且可以插入.或者根据@TryPyPy的建议,julia perf代码可以用任何PyPy重写支持今天 (3认同)