为什么python运行相对缓慢?


13

相对于我拥有的几台笔记本电脑,我一直在用一些模拟代码对Pi进行基准测试。我的代码往往是浮点密集型的,因此我一直在使用Raspbian(事实证明它快得多),因为它具有硬浮点支持。我有几种不同语言的相同简单代码。显然,Python代码比C代码的任何平台我使用速度较慢,但对皮这似乎是相对慢,周围3.没有人知道的因素,为什么Python解释器很可能是相对缓慢的Pi和这可能会解决吗?

这是测试:

import random,math

def gibbs(N=50000,thin=1000):
    x=0
    y=0
    print "Iter  x  y"
    for i in range(N):
        for j in range(thin):
            x=random.gammavariate(3,1.0/(y*y+4))
            y=random.gauss(1.0/(x+1),1.0/math.sqrt(2*x+2))
        print i,x,y

gibbs()

从有关实验的博客文章中获得。


2
自我提升很好(在一定程度上),但是真正添加到问题中的所有博客链接都是代码,因此我将其移至此处。
Jivings 2012年

2
嗯,它还包含详细信息,时间安排和其他可能有用的背景,这证实了在Pi上python相对于C的运行要比基于Intel的linux机器慢的说法,这就是问题所在……
Darren Wilkinson

2
我阅读了整个帖子,但我认为它并没有提供与该问题相关的令人难以置信的信息。要求每个人在回答问题之前先阅读信息页面并不会为您带来很多答案。根据定义,程序员是懒惰的。我们需要所有易于消化的信息:)
Jivings

8
我可以接受这样的判断,因为我是一个随和的人。但是我有点担心,对这个网站上发布的几乎每个问题的热心过度编辑可能会阻止人们从参加。我知道这样做是出于最好的意图,但您知道他们对通往地狱之路的看法……我真的认为这是所有非常活跃的问题编辑者都应该花一些时间思考和聊天的东西。如果这个站点由于一些善意却被误导的人的行动而没有​​起飞,那将是一个真正的耻辱。
达伦·威尔金森

1
愚蠢的问题...您是否在等式两边都运行了相同版本的python?我希望在相同的硬件上,python3将比python2运行相同的代码,因为python3上的range是一个迭代器,在python2上,它创建的列表效率较低(在python2上使用xrange)...请参见例如stackoverflow。 com / questions / 94935 /…
Foon

Answers:


7

我猜想Python解释器根本没有针对ARM优化。Python可能已经针对其他平台进行了优化。以我的经验,这对于像OpenSSH这样的软件是正确的,因此我认为它与Python类似。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.