OS
-
32비트 OS(운영체제)에서 64비트 OS로 바꾸면 성능이 꼭 향상만 될까?프로그래밍/의문 2015. 2. 4. 18:08
꼭 그렇지는 않다. 64비트의 넓은 주소 공간은 성능을 떨어뜨리는 요인이다. 포인터가 4바이트에서 8바이트로 커지고, 일부 변수는 크기가 커지기도 한다. 변수의 크기가 늘어났다는 것은 메모리 소요량이 커졌다는 것과 같아서 캐시, 레지스터의 공간을 더 빠르게 소모하게 되므로 이런 부분에서 성능 저하가 일어난다. struct s{ int* ptr[8];}; 구조체 pod가 32비트로 컴파일이 된다면 4(size of 32bit ptr)*8 의 사이즈로 총 32바이트를 차지하므로 64바이트 캐시라인 하나에 구조체가 두 개 들어갈 수 있지만, 64비트로 컴파일이 되면 크기가 2배로 되고 캐시라인에 하나의 구조체밖에 들어가질 못한다. 따라서 이러한 메모리 점유율 증가는 오히려 프로그램의 구동 성능을 떨어뜨릴 수 ..