2014-07-26 1 views
1

인텔 C (++) 컴파일러는 프로필 기반 최적화에 도움이되는 매우 유용한 기능을 제공합니다. ICC의 _PGOPTI_Prof_Dump_All()과 같은 Clang 또는 GCC

_PGOPTI_Prof_Reset_All(); 
/* code */ 
_PGOPTI_Prof_Dump_All(); 

https://software.intel.com/en-us/node/512800

이 하나의 파이썬에서 ctypes와 함께 사용하는 것이 공유 라이브러리를 프로파일에 특히 유용하다

.

나는 Clang이나 GCC가 비슷한 기능을 가지고 있는지 알아 내려고 노력했다. –은 분명히 그렇지 않다.

답변

0

둘 다 내부적으로 문서화 된 함수 인 __gcov_flush이 있습니다. source에만 설명되어 있습니다. 포크 또는 간부 전에 호출

/* - 지금까지 수집 된 프로필 정보 을 작성하고 제로으로 재설정. 이렇게하면 지금까지 수집 된 프로필 정보가 중복되거나 손실되지 않습니다. */

인텔과 동등한 편리함은 아니지만 일부 체조가 작동하도록하는 것은 그리 쉽지 않습니다.

1

프로필 지침 최적화는 gcc에서 다르게 작동하며 컴파일러 스위치로 활성화됩니다. See this question for PGO with gcc.

PGO가 방금 전에 clang에 도착했으며 버전 3.5부터 사용할 수 있습니다. clang user manual에는이를 사용하는 방법에 대한 개요가 나와 있습니다.

관련 문제