- Tham gia
- 13/6/06
- Bài viết
- 4,813
- Được thích
- 10,315
- Giới tính
- Nam
- Nghề nghiệp
- Giáo viên, CEO tại Bluesofts
Có nhiều bạn nhiều khi tranh luận hay so sánh về một hàm hay thủ tục này nhanh hay chậm hơn những cái khác. Nhiều khi sự so sánh có vẻ hơi cảm tính. Chúng ta hãy dùng cách đơn giản và khoa học để đo về tốc độ thực hiện của một hàm hay thủ tục.
Có thể có nhiều cách nhưng tôi xin đưa ra một cách là dùng hàm API GetTickCount.
Trong VBA, ở đầu Module khai báo:
Trong thủ tục làm như sau
Hy vọng phương pháp trên giúp các bạn một phần cách kiểm tra mã lệnh tối ưu về thời gian.
Đọc thêm:
http://msdn2.microsoft.com/en-us/library/ms724408.aspx
http://www.vbforums.com/showthread.php?t=231183
Có thể có nhiều cách nhưng tôi xin đưa ra một cách là dùng hàm API GetTickCount.
Trong VBA, ở đầu Module khai báo:
Mã:
Declare Function GetTickCount Lib "kernel32" () As Long
Trong thủ tục làm như sau
Mã:
Sub DoThoiGian()
'Đầu thủ tục gán
T1 = GetTickCount 'Nhận nhịp đếm thời gian bắt đầu
....
....Các lệnh xử lý
....
'Cuối thủ tục gán
T2 = GetTickCount 'Nhận nhịp đếm thời gian kết thúc
MsgBox (T2 - T1) / 1000, vbInformation, "Số giây đã thực hiện là"
End Sub
Hy vọng phương pháp trên giúp các bạn một phần cách kiểm tra mã lệnh tối ưu về thời gian.
Mã:
GetTickCount
The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started.
DWORD GetTickCount(VOID)
Parameters
This function has no parameters.
Return Values
If the function succeeds, the return value is the number of milliseconds that have elapsed since Windows was started.
Remarks
The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if Windows is run continuously for 49.7 days.
Windows NT: To obtain the time elapsed since the computer was started, look up the System Up Time counter in the performance data in the registry key HKEY_PERFORMANCE_DATA. The value returned is an 8 byte value.
Đọc thêm:
http://msdn2.microsoft.com/en-us/library/ms724408.aspx
http://www.vbforums.com/showthread.php?t=231183
Chỉnh sửa lần cuối bởi điều hành viên: