왜 파이썬이 상대적으로 느리게 실행됩니까?


13

필자는 보유하고있는 몇 대의 랩톱과 관련하여 일부 시뮬레이션 코드에서 Pi를 벤치마킹했습니다. 내 코드는 부동 소수점을 많이 사용하는 경향이 있으므로 하드 플로트 지원으로 인해 Raspbian ( 훨씬 빠릅니다)을 사용하고 있습니다. 여러 언어로 된 동일한 간단한 코드가 있습니다. 분명히 파이썬 코드는 느린 C 코드를 어떤 플랫폼 I를 사용하는 것보다,하지만 파이에 비교적 것으로 보인다 보다 파이썬 인터프리터는 파이에 상대적으로 느린 될 가능성이 왜 약 3합니까 누구의 노하우 배, 천천히, 그리고 이 문제가 해결 될 가능성이 있습니까?

테스트는 다음과 같습니다.

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

2
음, 그것은 또한 자세한 내용 및 타이밍과 파이썬이 질문의 점의 종류이었다 인텔 기반의 리눅스 시스템에서보다 파이, ...에 C에 느린 상대적이라는 주장 입증 다른 잠재적으로 유용한 배경 포함
대런 윌킨슨

2
나는 전체 게시물을 읽었지만 그것이 질문과 관련이있는 정보에 기여했다고 생각하지 않습니다. 모든 사람이 귀하의 질문에 대답하기 전에 정보 페이지를 읽도록 요구하는 것은 많은 답변을 얻지 못할 것입니다. 프로그래머는 정의상 게으르다. 우리는 청크를 소화하기 쉬운 모든 정보가 필요합니다 :)
Jivings

8
내가 쉽게 갈 수있는 사람이기 때문에 괜찮아요.이 사이트에 게시 된 거의 모든 질문에 대한이 과장된 편집이 사람들을 방해 할 가능성이 있습니다. 참여에서. 나는 그것이 최선의 의도로 이루어 졌다는 것을 알고 있지만 당신은 그들이 지옥으로가는 길에 대해 무엇을 말하는지 알고 있습니다. 저는 정말 활발한 질문 편집자들이 생각하고 대화하는 데 시간이 걸리는 것이라고 생각합니다. 이 사이트가 의도가 좋지만 잘못 안내 된 몇몇 사람들의 행동으로 인해 이륙하지 않았다면 정말 부끄러운 일입니다.
대런 윌킨슨

1
바보 같은 질문 ... 방정식의 양쪽에서 동일한 버전의 파이썬을 실행하고 있었습니까? 동일한 하드웨어에서 python3은 python3보다 동일한 코드를 더 빨리 실행합니다 .python3의 범위는 반복자이고 python2에서는 덜 효율적인 목록을 만듭니다 (python2에서 xrange 사용) ... 예를 들어 stackoverflow를
Foon

답변:


7

파이썬 인터프리터는 단순히 ARM에 최적화되어 있지 않다고 생각합니다. 파이썬은 다른 플랫폼에 최적화되었을 수 있습니다. 내 경험상 이것은 OpenSSH와 같은 소프트웨어에 해당되므로 Python과 비슷하다고 가정합니다.


2

파이썬은 아마도 CPU 캐시 부족으로 고통 받고 있습니다. 그래도 어떻게 쉽게 측정 할 수 있는지 잘 모르겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.