나는 이것이 프로그래밍 문제가 아니라 관련성이 있다는 것을 알고있다.
저는 상당히 큰 크로스 플랫폼 프로젝트를 진행하고 있습니다. Windows에서는 VC ++ 2008을 사용합니다. Linux에서는 gcc를 사용합니다. 프로젝트에는 약 40k 개의 파일이 있습니다. Windows는 동일한 프로젝트를 컴파일하고 링크 할 때 Linux보다 10 배에서 40 배 정도 느립니다. 어떻게 고칠 수 있습니까?
Linux에서 단일 변경 증분 빌드 20 초, Windows에서> 3 분 왜? Linux에 '골드'링커를 설치하고 그 시간을 7 초로 줄일 수도 있습니다.
마찬가지로 git은 Windows보다 Linux에서 10x ~ 40x 빠릅니다.
자식의 경우 git이 Windows를 최적의 방식으로 사용하지 않고 VC ++을 사용할 수 있습니까? 마이크로 소프트는 자신의 개발자가 가능한 한 생산성을 높이기를 원할 것이라고 생각할 것이고, 빠른 컴파일은 그와는 거리가 멀다. 아마도 개발자가 C #을 장려하려고 노력하고 있습니까?
간단한 테스트로 많은 하위 폴더가있는 폴더를 찾아서
dir /s > c:\list.txt
Windows에서. 두 번 실행하고 두 번째 실행 시간을 지정하여 캐시에서 실행하십시오. 파일을 Linux에 복사하고 동등한 2 회 실행과 두 번째 실행 시간을 수행하십시오.
ls -R > /tmp/list.txt
정확히 동일한 사양을 가진 2 대의 워크 스테이션이 있습니다. 12gig 램, 3.0ghz에서 8 코어의 HP Z600 ~ 400k 파일이있는 폴더에서 Windows는 40 초, Linux는 1 초 미만입니다.
Windows 속도를 높이기 위해 설정할 수있는 레지스트리 설정이 있습니까? 무엇을 제공합니까?
컴파일 시간과 관련된 약간의 관련 링크는 반드시 i / o 일 필요는 없습니다.
분명히 Windows 10 (Windows 7 아님)에는 프로세스를 닫으면 전역 잠금이 유지되는 문제가 있습니다. 여러 코어와 여러 프로세스로 컴파일 할 때이 문제가 발생합니다.
이
/analyse
옵션은 웹 브라우저를로드하기 때문에 성능에 악영향을 줄 수 있습니다 . (여기에는 관련이 없지만 알아두면 좋은 점)