컴파일 시간이 매우 느려 듀얼 코어 2GHz, 2G Ram 머신에서 20 분 이상이 걸릴 수 있습니다.
이것은 많은 파일이있을 때 병목 인 VSS뿐만 아니라 70 개 이상의 프로젝트로 성장한 솔루션의 크기 때문입니다. (VSS 스왑 아웃은 불행히도 옵션이 아니므로 VSS bash로 내려 가기를 원하지 않습니다)
우리는 프로젝트 병합을보고 있습니다. 또한 응용 프로그램의 각 요소에 대해 더 큰 관심사 분리 및 빠른 컴파일 시간을 달성 할 수있는 여러 솔루션이 필요합니다. 우리가 볼 수있는 것을 동기화하려고하면 DLL 지옥이 될 것입니다.
다른 팀 이이 스케일링 문제를 어떻게 처리했는지 알고 싶습니다. 코드베이스가 상태 표시 줄이 컴파일 메시지를 전달하는 것을 반나절 낭비하고있는 임계 질량에 도달하면 어떻게해야합니까?
업데이트 나는 이것이 C # 솔루션이라고 언급하지 않았습니다. 모든 C ++ 제안에 감사하지만 헤더에 대해 걱정 한 지 몇 년이되었습니다.
편집하다:
지금까지 도움이 된 좋은 제안 (아래에 다른 좋은 제안이 없다고 말하지 않고 도움이 된 것)
- 새로운 3GHz 랩톱-사용률 손실의 힘으로 경영진이 궁금해합니다
- 컴파일 중 안티 바이러스 비활성화
- 컴파일하는 동안 VSS (실제로 네트워크)에서 '연결 끊기'-VS-VSS 통합을 완전히 제거하고 VSS UI 사용을 고수 할 수 있습니다.
여전히 컴파일을 통해 찢어지지는 않지만 모든 비트가 도움이됩니다.
오리온은 제네릭도 놀이를 할 수 있다고 언급했다. 내 테스트에서 최소한의 성능 저하가 있지만 확실하게 충분히 높지 않은 것으로 보입니다. 디스크 활동으로 인해 컴파일 시간이 일치하지 않을 수 있습니다. 시간 제한으로 인해 내 테스트에는 라이브 시스템에 나타나는만큼 많은 제네릭이나 코드가 포함되지 않아 누적 될 수 있습니다. 컴파일 타임 성능을 위해 제네릭을 사용해야하는 곳에서는 제네릭을 사용하지 마십시오.
해결 방법
우리는 새로운 솔루션으로 새로운 응용 프로그램 영역을 구축하고 필요한 최신 dll을 가져 와서 만족할 때 더 큰 솔루션으로 통합하는 방법을 테스트하고 있습니다.
또한 작업해야 할 영역을 캡슐화하고 코드를 다시 통합 한 후 버리는 임시 솔루션을 만들어 기존 코드와 동일하게 수행 할 수도 있습니다. 우리는 Rip Van Winkle이 개발 중 빠른 재 컴파일 경험과 같은 경험을 얻지 못함으로써이 코드를 재 통합하는 데 걸리는 시간을 측정해야합니다.