2012-04-14 3 views
11

오늘 나는 암석에 대해 배웠고, 그래서 나는 나의 다양한 환경이 어떤 것인지보기로 결심했다. 나는 베어 메탈 창을 실행하는 내 노트북에 pystones를 실행하고 나는 우리의 리눅스 가상 머신의 일부에 그것을 실행하고 2.7-3.4 배 더 나은 성능을 가지고 그리고 이러한 결과를 왜 파이썬이 창문에서 느리게 느려 집니까?

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from test import pystone 
>>> for i in range(0,10): 
... pystone.pystones() 
... 
(1.636334799754252, 30556.094026423627) 
(2.1157907919853756, 23631.82607155689) 
(2.5324817108003685, 19743.479207278437) 
(2.541626695533182, 19672.4405231788) 
(2.536022267835051, 19715.915208695682) 
(2.540327088340973, 19682.50475676099) 
(2.544761766911506, 19648.20465716261) 
(2.540296805235016, 19682.739393664764) 
(2.533851636391205, 19732.804905346253) 
(2.536483186973612, 19712.3325148696) 

을 얻었다.

Python 2.7.2+ (default, Oct 4 2011, 20:03:08) 
[GCC 4.6.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> for i in range(0,10): 
... pystone.pystones() 
... 
(1.75, 28571.428571428572) 
(1.17, 42735.042735042734) 
(1.6600000000000001, 30120.48192771084) 
(1.8399999999999999, 27173.913043478264) 
(1.8200000000000003, 27472.52747252747) 
(1.8099999999999987, 27624.30939226521) 
(1.3099999999999987, 38167.938931297744) 
(1.7800000000000011, 28089.88764044942) 
(1.8200000000000038, 27472.527472527414) 
(1.490000000000002, 33557.04697986573) 

내가 꽤 같은 창 내에서 실행되는 리눅스 VM는 파이썬이 실행보다 실제로 더 빠른 방법을 이해 할 수없는 : 그래서 나는이 결과를 내 노트북에 내 VM웨어 리눅스 VM을 해고하고 동일한 테스트를 reran하고있어 창문 아래서 같은 베어 메탈.

Windows에서 Python과 다른 점은 베어스턴 OS가 동일한 박스에서 리눅스를 실행하는 VM보다 느리게 수행된다는 것입니까?

  • 자세한 내용은 Windows 플랫폼 Win7x64는 32 비트 파이썬 내가 귀하의 질문에 대답 할 수없는 VM웨어
+0

동시에 실행되는 다른 프로세스에 따라 다릅니다. –

+2

다른 libc.* 실행 * –

+5

Python은 VM과 Linux 64 비트에서 실행 되었습니까? 나는 Windows 버전이 32 비트임을 확인한다. 사과와 사과를 비교하는지 확인하십시오. – agf

답변

7

를 윈도우 플랫폼을 실행하는 32 비트 리눅스 VM 두 플랫폼에서 실행되는, 그러나이 목록을 고려 차이를 만들 수있는 사항 :

  • 다른 버전의 Python을 사용 중입니다. "2.7.2+"는 리눅스 파이썬이 릴리스가 아닌 버전 제어 체크 아웃으로 구축되었음을 나타냅니다.

  • 이들은 서로 다른 컴파일러 (그리고 아마도 의미있는 최적화 수준이 다를 수 있음)로 컴파일되었습니다.

  • 너는 이것의 재생산을 많이 언급하지 않았다. 그렇지 않다면 우연이라고 생각할 수 있습니다.

  • VM의 타이밍이 정확하지 않을 수 있습니다.

  • 당신은 Ignacio Vazquez-Abrams가 지적한 것처럼 Python의 의존성, 특히 libc의 다른 구현을 연결하고 있습니다.

  • 필 스톤의 실제 벤치 마크가 어떤 것인지 모르겠지만 많은 일들이 다르게 작동합니다. 유니 코드 처리 또는 디스크 IO 같은 것은 시스템 종속 요소 일 수 있습니다.

+0

내가 이것을 쓴 3 시간 전에 그것을 재현. 그래, 나는 그것을 언급하지 않았다. – boatcoder

3

해당 Windows 상자에서 바이러스 백신 소프트웨어를 실행합니까? 이것은 아마도 그것을 설명 할 수 있습니다. 개인적으로 Python, Cygwin 및 내 소스 디렉토리를 바이러스 백신 제외 목록에 추가하려고합니다. 작지만 눈에 띄는 속도 향상을 얻었습니다. 어쩌면 결과가 설명 될지도 모릅니다.

+0

아니요, 아니 바이러스 백신. – boatcoder

2

windows 10에서 비슷한 문제가 발생했습니다 - 이기 때문에 windows 수비수입니다.

나는 파이썬 디렉토리와 프로세스를 윈도우 수비수 설정에서 제외하고 컴퓨터를 다시 시작해야했습니다.

이전 : 파이썬 코드를 실행하는 데 ~ 20 초 정도 기다려야했습니다. 이제는 밀리 초입니다.

관련 문제