1

Visual C++ 2013에서 Profile Guided Optimisation을 사용하려고합니다. 수동 시나리오와는 다른 시나리오를 사용하여 교육을 실행하는 것에 만족하지만 최종 최적화 빌드와 링크가 CI 빌드 서버에서 작동하도록하고 싶습니다.PGO 데이터베이스 파일은 어디에 저장해야합니까?

PGO 프로필 데이터베이스를 저장하는 가장 좋은 장소는 어디일까요? 그것들을 버전 컨트롤 (우리의 경우에는 힘내)에 저장하는 것이 가장 편리한 장소이지만, 수십, 잠재적으로 수백 메가 바이트 정도되는 이진 파일이라는 것을 알고 있으며, 이들은 소스에 반드시 잘 저장되지는 ​​않습니다 제어 시스템.

또는 자동화 된 빌드에 PGO를 통합하는 더 나은 솔루션이나 모범 사례가 있습니까?

답변

0

여기에 여러 가지 선택 사항이 있습니다. 단점을 고려하여 그 중 하나를 선택할 수 있습니다.

  • 전체 코드 기반 또는 일부 핫스팟이나 모듈에 PGO를 사용합니까? 얼마나 자주 데이터베이스를 새로 고칩니다.
  • 부적절한 PGO 데이터베이스로 인해 sth를 릴리스하는 것이 큰 문제입니까?
  • 프로젝트의 크기와 최악의 경우의 크기
  • 소스 제어에 최악의 경우 PGO 데이터베이스를 저장할 수 있습니까?

답변을 통해 자신에게 경로를 만들 수 있습니다.

PGO 데이터베이스를 너무 자주 새로 고치지 않고 이진 크기로 프로젝트를 망칠 수없는 경우 버전 제어 내에 저장할 수 있습니다. 각 커밋에 대해 당신이 그들을 다시 생성하면

것은, 당신이 그들에게이 포함 된 별도의 저장소를 넣을 수 있습니다, 실제 코드베이스는 커밋 메시지로 (어떤에서 만든 PGO 프로파일 데이터베이스를 커밋) ID를 커밋

또는 당신이 그들을 생성 해달라고하면 너무 자주, 그리고 당신이 특정 커밋으로 돌아갈 때, 당신이 그들을 저장할 수 없습니다 데이터베이스를 다시 생성, 그냥 CI 빌드 머신에 넣어.

또는이 의견을 바탕으로 다른 조합을 만들 수 있습니다.

관련 문제