Publish date: 2003-01-17
ActiveX Components. Calculation of CPU time (VB)
'sample of work with 'IBPSamples.TThreadTimerNT' 'required NT-system '1 download _ibp_sample_obj.dll from www.ibprovider.com '2 execute: regsvr32 _ibp_sample_obj.dll '3 add in your VB-project the reference to 'LCPI - IBProvider Samples' library Function sample_9_3_build_time(time As IBPSamples.TThreadTime) As String Dim s As String s = CStr(time.Fraction) While Len(s) < 7 s = "0" + s Wend sample_9_3_build_time = CStr(time.Seconds) + "." + s + " sec" End Function 'sample_9_3_print_thread_time Sub sample_9_3() 'large table Const c_table_name As String = "people" Dim cn As New ADODB.Connection Dim thread_timer As New IBPSamples.TThreadTimerNT cn.Provider = "LCPI.IBProvider" cn.Open "data source=st33:e:\database\new_db57.gdb;ctype=win1251", "gamer", "vermut" Debug.Print cn.Properties("Provider Name") Debug.Print cn.Properties("Provider Version") cn.BeginTrans Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset '---------------------------------------- Debug.Print "Fetch each row" rs.Open c_table_name, cn, adOpenKeyset, adLockReadOnly Call thread_timer.Start(True) While Not rs.EOF rs.MoveNext Wend Call thread_timer.Stop rs.Close Debug.Print "Total Time:" & sample_9_3_build_time(thread_timer.TotalTime) '--------------------------------------- Debug.Print "MoveLast" rs.Open c_table_name, cn, adOpenKeyset, adLockReadOnly Call thread_timer.Start(True) rs.MoveLast Call thread_timer.Stop Debug.Print "Total Time:" & sample_9_3_build_time(thread_timer.TotalTime) '---------------------------------------- Debug.Print "fetch each row in local buffer" rs.MoveFirst Call thread_timer.Start(True) While (Not rs.EOF) rs.MoveNext Wend Call thread_timer.Stop Debug.Print "Total Time:" & sample_9_3_build_time(thread_timer.TotalTime) End Sub 'sample_9_3