[edit # 2] VMWare의 누군가가 VMWare Fusion의 사본으로 저를 때릴 수 있다면 VirtualBox와 VMWare의 비교와 같은 일을하는 것이 더 행복 할 것입니다. 어떻게 든 VMWare 하이퍼 바이저가 하이퍼 스레딩에 더 잘 맞춰질 것이라고 생각합니다 (내 답변도 참조하십시오)
궁금한 점이 있습니다. Windows 7 x64 가상 시스템에서 코어 수를 늘리면 전체 컴파일 시간 이 줄어들지 않고 늘어납니다 . 컴파일은 일반적으로 중간 부분 (포스트 종속성 매핑)에서와 같이 병렬 처리에 매우 적합합니다. 링커가 취할 부분 객체를 만들기 위해 각 .c / .cpp / .cs / whatever 파일에서 컴파일러 인스턴스를 호출 할 수 있습니다 위에. 그래서 컴파일은 실제로 # 개의 코어로 확장 될 것이라고 상상했을 것입니다.
그러나 내가보고있는 것은 :
- 8 코어 : 1.89 초
- 4 코어 : 1.33 초
- 2 코어 : 1.24 초
- 1 코어 : 1.15 초
특정 벤더의 하이퍼 바이저 구현 (필자의 경우 type2 : virtualbox) 또는 하이퍼 바이저 구현을 더 단순하게 만들기 위해 더 많은 VM에 더 널리 퍼져있는 설계 아티팩트입니까? 너무 많은 요인으로, 나는이 행동과 반대되는 주장을 할 수있는 것 같습니다. 그래서 누군가가 나보다 이것에 대해 더 많이 알고 있다면, 나는 당신의 대답을 읽고 싶어합니다.
감사합니다 시드
[ 편집 : 주소록 주석 ]
@MartinBeckett : 콜드 컴파일이 삭제되었습니다.
@MonsterTruck : 직접 컴파일 할 오픈 소스 프로젝트를 찾을 수 없습니다. 좋을 것이지만 지금 내 개발 환경을 망칠 수는 없습니다.
@Mr Lister, @philosodad : VirtualBox를 사용하여 8 개의 hw 스레드가 있으므로 에뮬레이션없이 1 : 1 매핑이어야합니다.
@Thorbjorn : VM에 6.5GB가 있고 작은 VS2012 프로젝트가 있습니다. 페이지 파일을 휴지통에 넣거나 버릴 가능성이 거의 없습니다.
@All : 누군가 오픈 소스 VS2010 / VS2012 프로젝트를 가리킬 수 있다면 내 (독점) VS2012 프로젝트보다 커뮤니티 참조가 더 좋습니다. 오차드와 DNN은 VS2012에서 컴파일하기 위해 환경 조정이 필요한 것 같습니다. VMWare Fusion을 사용하는 사람이 이것을 볼 수 있는지 정말로 알고 싶습니다 (VMWare 대 VirtualBox 구획화).
테스트 세부 사항 :
- 하드웨어 : Macbook Pro Retina
- CPU : Core i7 @ 2.3Ghz (쿼드 코어, 하이퍼 스레드 = Windows 작업 관리자의 8 코어)
- 메모리 : 16GB
- 디스크 : 256GB SSD
- 호스트 OS : Mac OS X 10.8
- VM 유형 : VirtualBox 4.1.18 (유형 2 하이퍼 바이저)
- 게스트 OS : Windows 7 x64 SP1
- 컴파일러 : 3 개의 C # Azure 프로젝트로 솔루션을 컴파일하는 VS2012
- 'VSCommands'라는 VS2012 플러그인으로 컴파일 시간 측정
- 모든 테스트는 5 번 실행되며 처음 2 번은 삭제되고 마지막 3 번은 평균