Chủ Nhật, 4 tháng 3, 2018

Cách đo thời gian chạy 1 lệnh trong AutoIT

Cách đo thời gian chạy 1 lệnh trong AutoIT

Đối với người học lập trình, việc sử dụng một lệnh nào đó và yêu cầu nó phải chạy theo đúng thời gian mà lập trình viên đưa ra là vấn đề rất quan trọng, ví dụ : một coder viết 1 chương trình auto game và sau khi các thao tác code hoàn chỉnh và khi anh ta chạy thử thì nó lại chạy không theo ý mình (chạy một cách lộn xộn và thời gian chờ, thời gian thực hiện lệnh không theo đúng trình tự) và bắt buộc coder đó phải làm lại các bước và ước lượng thời gian. Vậy làm sao để chúng ta đo chính xác từng thời gian (mili giây) mà 1 lệnh chạy? Cụ thể là Autoit

Làm thế nào để đo và ước lượng chính xác thời gian chạy 1 lệnh của AutoIT?

AutoIT không phải là một ngôn ngữ lập trình mạnh, nhưng nó đã thể hiện mình là một ngôn ngữ hữu ích ngay trên những dòng lệnh chính nó. Do đó, ta cần đo và biết 1 lệnh trong ngôn ngữ lập trình chiếm bao nhiêu thời gian và đưa ra thời gian chờ hợp lí.
Mình sẽ hướng dẫn chi tiết các bước code cho các bạn dễ hiểu :Cấu trúc code đo thời gian như sau :
Local $time = TimerInit() ; Lấy thời gian của hệ thống, tính bằng mili giây
; Các lệnh cần đo được chèn ở đây
Local $timedo = TimerDiff($time) 
MsgBox(0, "Thời gian đo được", "Thời gian đo được là :" & @CRLF & $timedo)
Ví dụ 1 : Đo thời gian của lệnh Sleep(5000)
Code :
Local $time = TimerInit()
Sleep(5000)
Local $timedo = TimerDiff($time)
MsgBox(0, "Thời gian đo được", "Thời gian đo được là :" & @CRLF & $timedo)
Kết quả đo được :
dotime - Cách đo thời gian chạy 1 lệnh trong AutoIT
Ví dụ 2 : Đo thời gian thực hiện phép toán
Code :
Local $time = TimerInit()
$x = 10
$y = 5
$z = $x + $y
Local $timedo = TimerDiff($time)
MsgBox(0, "Thời gian đo được", "Thời gian đo được là :" & @CRLF & $timedo)
MsgBox(0,0,$z)
Kết quả đo được :
dotime1 - Cách đo thời gian chạy 1 lệnh trong AutoIT
Lưu ý : Nếu muốn xuất ra kết quả sau khi tính, các bạn phải đặt Msgbox sau code khung mẫu đo thời gian nhé, nếu đặt nằm trong khung mẫu thì nó sẽ đo luôn thời gian nhấn OK của bạn. Trường hợp bạn muốn xuất kết quả trước khi xuất thời gian đo được thì bạn phải đặt Msgbox xuất kết quả trước Msgbox thông báo thời gian đã đo được.

Ứng dụng của code 

Sau khi đo thành công 1 lệnh, ta có thể ước lượng thời gian chờ cho chương trình một cách chính xác nhất. Ví dụ : Bạn muốn cho người dùng chờ 1 lệnh nào đó, nhưng không biết phải chờ bao lâu mới hợp lí, ta có thể áp dụng code này để đo trước và sử dụng Sleep() một các hợp lí nhất  🙂
Ngoài 2 đoạn code ví dụ trên, các bạn hoàn toàn có thể đo các lệnh khác như : đo thời gian đọc 1 file .txt, đo thời gian lấy mã nguồn của 1 website, đo thời gian tạo hoặc xóa 1 file cần thiết,…
Like Fanpage hoặc vào trang chủ thường xuyên để cập nhật những bài viết hay trong thời gian sắp tới.
HDQchúc các bạn thành công !!


EmoticonEmoticon