답변:
Scott Gu는 또한 하드 디스크와 같은 I / O 리소스를 중심으로 건물 속도에 어떤 영향을 미치는지 게시했습니다 .
내가 찾은 요소가 가장 큰 차이점은 실제 요소가 아니라 소프트웨어 요소입니다. 어떤 안티 바이러스를 설치 했습니까?
일부 바이러스 백신 제품은 소프트웨어 개발을 잘 처리하지 못합니다. 이러한 모든 응용 프로그램 파일이 다시 작성되는 것을보고 매번 파울 플레이를 의심하며 모든 파일을 다시 검색합니다.
자세한 내용은 /programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129 를 참조 하십시오 .
반면에 기존 시스템의 성능을 향상 시키려면 사용 가능한 메모리를 최대한 활용하여 빠른 승리를 거두십시오.
여기 은 MSBUild에 여러 CPU를 사용하는 것에 대한 Scott Hanselman의 훌륭한 연구 입니다. 속도 향상은 상당히 극적입니다.
편집 : 그러나 Visual Studio를 잘 사용하려면 많은 RAM이 필요합니다. :)
적당한 크기의 C ++ 코드베이스에 대한 개인적인 경험 :
프로세서 : Pentium 4 HT 3.06 GHz
메모리 : 1GB DDR RAM (PC 2100, 333MHz)
디스크 : 7200RPM 하드 드라이브 (메모리가있는 경우 UDMA 100)
컴파일 시간 : 50 분
프로세서 : 1.6GHz에서 Core i7 720QM (8 개의 논리 프로세서), 모든 코어가 활성 일 때 1.73GHz로 터보 부스트
메모리 : 1066MHz에서 8GB DDR3 RAM
디스크 : 7200RPM 하드 드라이브 (SATA 2)
컴파일 시간 : 4 분 (with / MP )
결론 : 프로세서가 많을수록 메리 어는 상대적으로 낮은 클럭 속도에서도 가능합니다. SSD는 시간을 더 향상시킬 것이지만 컴파일 메시지를 관찰하면 30 초 이상 향상시킬 것으로 의심됩니다.
C ++ 프로그램을 구축하는 데있어 가장 중요한 요소는 구조적입니다. 소스 코드가 매우 수직적으로 구조화 된 경우 빌드 시간, 특히 증분 빌드에 치명적인 영향을 미칩니다. 쿼드 코어 제온의 극적인 향상을 위해 프로젝트의 일부를 로컬로 재구성했습니다. 18 개월 후에도 (프로젝트를 소유 한 사람들) 여전히 Core i7 시스템에서도 내 벽시계 빌드 시간을 맞출 수 없습니다.
소프트웨어 레이아웃의 효과 (긍정적 또는 부정적)는 팀의 모든 구성원과 수행하는 모든 빌드에 따라 증가합니다.
Xoreax IncrediBuild 는 내가 일하는 컴파일 시간을 크게 개선 한 분산 빌드 시스템입니다. (아쉽게도 링크 시간이 여전히 길다. 특히 전체 프로그램 최적화와 링크 타임 코드 생성을 사용한 릴리스 빌드이지만 예상된다.)