2012-09-01 2 views
13

저는 32 비트 임베디드 시스템에서 주로 작업했습니다. 16 비트 동등 물보다 기본 32 비트 유형 (int, float)을 사용하는 것이 일반적으로 더 빠릅니다. 속도 저하는 16 비트 숫자를 32 비트로 확장 한 후 처리를 수행 한 결과 발생했습니다.64 비트 OS에서 32 비트 응용 프로그램이 더 빠르게 또는 더 느리게 실행됩니까?

이제 PC와 64 비트 OS로 이동했습니다. 내 질문은 - 32 비트 형식이 64 비트 컴퓨터에서 속도 저하를 일으키는 지 여부입니다.

예를 들어 MyApp.exe를 32 비트 응용 프로그램으로 빌드하면 64 비트 OS 이상에서 느리게 실행됩니까?

나는 앱의 성능에 관련된 많은 요소가 있으며 나는 (IO 속도, 빠른 메모리 등) 질문에서 의도적으로 이러한 요소를 제외하고 있음을 이해합니다.

+1

* 포함 된 요소 *는 무엇입니까? –

+0

32 비트 대 64 비트 운영체제의 CPU 실행을 고려하고있었습니다. 그러나 Nate C-K는 코드가 많을 때 RAM 액세스 시간에 대해 좋은 지적을합니다. –

답변

8

때로는 32 비트 응용 프로그램이 더 빠르게 실행되고 때로는 느려질 수 있습니다. 성능에 영향을 미치는 많은 경쟁 요인이 있습니다. 일반적으로 어느 방향 으로든 차이가 크지는 않습니다.

모든 요소가 작동하는 실제 환경에서 성능이 항상 발생하기 때문에 어떤 요인을 성능 고려 사항에서 합법적으로 제외시킬 수 있는지는 알 수 없습니다. 속도는 이론적 인 것이 아니므로 혼자서는 처리 할 수 ​​없습니다.

http://www.osnews.com/story/5768

그는있는 32 비트 바이너리 빠르게 자신의 시험에 있다고 : 여기

은 저자가 일부 벤치마킹 한 기사입니다. 64 비트 응용 프로그램에 이동에 대한 인텔의 2010 년 기사 즉, 여기에 2004 년 초

에서 SPARC에 있던입니다 : http://software.intel.com/en-us/articles/moving-from-32-bit-applications-to-64-bit-applications-en/

이 문서에 따르면이, 64 비트 바이너리 빠른 수학을 제시 할 수 따라서 올바르게 최적화 된 경우 연산이 많은 코드는 더 빨라야합니다. 그렇지 않으면 64 비트 코드가 더 느려질 수 있습니다. 메모리가 더 많이 필요하기 때문이며 이로 인해 RAM에 액세스하는 데 더 많은 시간이 걸릴 수 있습니다 (더 자주 캐시가 누락되는 경우).

관련 문제