|
|||||||
Процедура сравнения скорости работы Процедур (Функций) VBA
Время создания: 16.03.2019 23:43
Раздел: Разные закладки - VBA - Access - msa.polarcom.ru - 17 Утилиты
Запись: xintrea/mytetra_db_adgaver_new/master/base/1532019430b29dko8wn2/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Процедура сравнения скорости работы Процедур (Функций) VBAДавно уже пользуюсь подобным , наглядно, и сразу видно какой из двух (3х-4х...) вариантов аналогичного кода быстрее работает. --------------------------------------------------------- Тест-1 (100 000 000 повт.) работал: 00:00:02 Тест-2 (100 000 000 повт.) работал: 00:00:02 --------------------------------------------------------------
Private Sub esSpeedCompare() 'es 19.05.2003 - 25.03.2017 (LE) 'Процедура сравнения работы процедур или функций по скорости 'Пишет результат в Immediate окно '-------------------------------------------------------------------- Dim intTest As Integer 'счетчик тестов Dim lngReiterations As Long 'количество повторений теста Dim l As Long 'счетчик повторений Dim t As Date 'перменная таймера Dim v As Variant 'для приема значений возвращаемых тестируемыми Dim sTest$ 'На тестах может пригодиться On Error GoTo esSpeedCompare_Err 'Установка количества повторений теста : много (считаем сразу тысячами...) - Только для быстрых lngReiterations = CLng(1000) * 100000 'Отделяем линией от (возможных) предидущих результатов Debug.Print vbCrLf & "---------------------------------------------------------" 'Запуск 2-х тестов For intTest = 1 To 2 t = Now For l = 1 To lngReiterations Select Case intTest
Case 1 'ниже пишем певую тестируемую процедуру|функцию
v = l \ 3
Case 2 'ниже пишем вторую тестируемую процедуру|функцию
v = l * 3
End Select Next l
'отчет..... Debug.Print "Тест-" & intTest & " (" & Format$(lngReiterations, "#,###") & _ " повт.) работал: " & Format(Now - t, "hh:mm:ss") Next intTest esSpeedCompare_Bye: Exit Sub esSpeedCompare_Err: Debug.Print "Процедура сравнения работы функций по скорости привела к ошибке:" & vbCrLf & _ Err.Description Resume esSpeedCompare_Bye End Sub Achtung! |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|