Windows
에 C++
에있는 코드 줄의 실행 시간을 어떻게 측정 할 수 있습니까?C++에서 함수 호출의 실행 시간 측정
while(...) //read a single record from a csv file until EOF
{
...
while(...) // split the record into components based on delimiter
{
...
}
//insert into boost::multi_index_container
}
나는 모든 레코드를 삽입하는 데 필요한 시간을 찾을 필요가 있지만, 루프의 실행 시간없이 다음과 같이 나는 boost::multi_index_container
에 대한 1,00,000 기록을 삽입하고있다. timer
또는 삽입 기능 직전에 함수를 호출하고 함수 호출 직후 경과 시간을 계산하면 결과로 0 nanoseconds
이됩니다. 그래서 저는 개별 시간을 합산하여 시간을 계산할 수 없습니다. 해결 방안은 무엇인가?
원칙적으로 다음과 같이 처리 할 수 있습니다. 1. 빈 루프의 시간을 측정합니다 (단, 최적화되지 않았는지 확인하십시오). 2. 삽입 루프의 시간을 측정하십시오. 3. 차이를 가져라. 측정을 원한다면 악의적 인 코드가 아니라 최적화 된 코드를 측정해야합니다. 그리고 나서 기회가 생깁니다. 옵티마이 저는 더 힘들게 만듭니다. 어셈블러 출력을 확인하여 측정 한 것을 측정하는지 확인하십시오. 파일 읽기 시간도 원하지 않으므로 마지막으로 필요한 것을 얻기 위해 몇 가지 추가 단계와 차이점을 생각해 볼 수 있습니다. – BitTickler
왜이 측정이 필요한지 궁금합니다. – K117
@pradyot : Windows 시스템 용 솔루션을 원합니다. – Jackzz