[iuud8]cocos2dx編程中獲得代碼段執行時間,精確到毫秒級

在程序書寫過程中,我們常常需要得到某一段代碼的執行時間,來判斷當前代碼是否冗餘,是否會消耗大量的系統資源,或者在資源加載的過程中,判斷是那些資源消耗了大量的時間。

在c++中,有一個活的時間的辦法,但精度只到秒:

        struct timeval now;
        struct tm* time;
        
        gettimeofday(&now, NULL);
        
        time = localtime(&now.tv_sec);
        
        char date[32] = {0};
        sprintf(date, "%d%02d%02d",time->tm_year + 1900, time->tm_mon + 1, time->tm_mday);

如果想要獲取到毫秒級時間差,則

auto t1 = std::chrono::high_resolution_clock::now();

{
       ......
}

auto t2 = std::chrono::high_resolution_clock::now();
log(">>>>>>>>>>>time1 = %lld", std::chrono::duration_cast<std::chrono::milliseconds>(t2-t1).count());

中間{ ...... }表示你要獲取執行時間的代碼段,最後輸出時間即爲該代碼段的時間



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章