วัดเวลาที่ผ่านไปได้อย่างง่ายดาย
ฉันกำลังพยายามใช้เวลา ()เพื่อวัดจุดต่าง ๆ ของโปรแกรมของฉัน สิ่งที่ฉันไม่เข้าใจคือเหตุผลที่ค่าในก่อนและหลังเหมือนกันหรือไม่ ฉันเข้าใจว่านี่ไม่ใช่วิธีที่ดีที่สุดในการจัดทำโปรไฟล์โปรแกรมของฉันฉันแค่ต้องการดูว่าใช้เวลานานเท่าใด printf("**MyProgram::before time= %ld\n", time(NULL)); doSomthing(); doSomthingLong(); printf("**MyProgram::after time= %ld\n", time(NULL)); ฉันเหนื่อย: struct timeval diff, startTV, endTV; gettimeofday(&startTV, NULL); doSomething(); doSomethingLong(); gettimeofday(&endTV, NULL); timersub(&endTV, &startTV, &diff); printf("**time taken = %ld %ld\n", diff.tv_sec, diff.tv_usec); ฉันจะอ่านผลลัพธ์ได้**time taken = 0 26339อย่างไร นั่นหมายความว่า nanoseconds 26,339 = 26.3 มิลลิวินาที สิ่งที่เกี่ยวกับ**time …