Hàm clock() trong C / C++
Trong bài viết này chúng ta sẽ tìm hiểu về hàm clock() trong C / C++. Đây là một hàm được sử dụng để trả về thời gian xử lý gần đúng.
Hàm clock() là hàm có sẵn trong thư viện ctime, vì vậy trước khi sử dụng nó chúng ta cần khai báo thư viện đã nhé: #include<ctime>
Cú pháp hàm clock() trong C/ C++
Hàm clock() trong C++ trả về thời gian xử lý gần đúng được chương trình sử dụng. Hiểu đơn giản là nó sẽ trả về thời gian giữa hai lần gọi hàm clock().
Đồng hồ thời gian có thể nhanh hơn hoặc chậm hơn đồng hồ thực tế. Nó phụ thuộc vào cách hệ điều hành phân bổ tài nguyên cho tiến trình.
Bài viết này được đăng tại [free tuts .net]
Cú pháp:
clock_t clock();
Hàm trả về:
- Khi thành công, hàm clock () trả về thời gian bộ xử lý được chương trình sử dụng cho đến thời điểm hiện tại.
- Khi không thành công, nó trả về -1 được chuyển thành kiểu clock_t.
Ví dụ: Ta muốn tính khoảng thời gian sử dụng hàm clock lần thứ nhất đến lần thứ hai.
//sử dụng hàm clock() lần thứ nhất time_req = clock(); //sử dụng hàm clock() lần thứ hai, sau đó tính khoảng thời gian bằng cách lấy lần sau trừ lần đầu time_req = clock() - time_req;
Cách dùng hàm clock() trong C / C++
Trong phần này mình sẽ thực hiện một ví dụ sử dụng hàm clock() để minh họa cho cách dùng của nó. Cụ thể mình sẽ áp dụng hàm clock() để tính khoảng thời gian khác nhau giữa việc sử dụng và không sử dụng hàm pow() để tính.
#include <iostream> #include <cmath> #include <cstdio> using namespace std; int main() { float x,y; clock_t time_req; /* ví dụ sử dụng hàm pow() để tính */ //sử dụng hàm clock() lần thứ nhất time_req = clock(); for(int i=0; i<100000; i++) { y = log(pow(i,5)); } //sau khi tính xong, sử dụng lần hai đê tính toán khoảng thời gian time_req = clock() - time_req; cout << "Sử dụng hàm pow(), thì mất " << (float)time_req/CLOCKS_PER_SEC << " giây để tính" << endl; /* ví dụ không sử dụng hàm pow() để tính, tương tự như trên */ time_req = clock(); for(int i=0; i<100000; i++) { y = log(i*i*i*i*i); } time_req = clock()- time_req; cout << "Không sử dụng hàm pow(), thì mất " << (float)time_req/CLOCKS_PER_SEC << " giây để tính" << endl; cout<<"\n----------------------------------\n"; cout<<"Chương trình này được đăng tại Freetuts.net"; }
Kết quả:
Như vậy là chúng ta đã tìm hiểu xong hàm clock() trong C/ C++. Ở các bài tiếp theo mình sẽ tiếp tục giới thiệu các hàm khác trong thư viện ctime, các bạn chú ý theo dõi nhé !!!
Danh sách các hàm
- Hàm asctime() trong C / C++
- Hàm ctime() trong C / C++
- Hàm localtime() trong C / C++
- Hàm time() trong C / C++
- Hàm gmtime() trong C / C++
- Hàm clock() trong C / C++