Простейший анализатор производительности системы (кода программы) - VB
Формулировка задачи:
Всем привет!
Задался целью выяснить почему программа, которую я написал тормозит, точнеее какие ее блоки...
Может кому пригодится, простой анализатор скорости работы кода. Выдает действительный результата три знака после запятой. Погрешность измериний не большая. Втулил интерфейс аля Win10, тени от формы (корректно и быстро отрисовываюстя), перетаскивание формы...
код формы
Решение задачи: «Простейший анализатор производительности системы (кода программы)»
textual
Листинг программы
Option Explicit Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Currency) As Long Private Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Currency) As Long Private Sub Form_Load() Dim cuFrequency As Currency Dim cuStart As Currency Dim cuStop As Currency Dim sngStart As Single, sngStop As Single Dim dblT As Double, dblTd As Double If QueryPerformanceFrequency(cuFrequency) = 0 Then MsgBox "Счетчик не работает", vbCritical Else sngStart = Timer QueryPerformanceCounter cuStart For dblT = 1 To 50000 dblTd = ((Sin(dblT) ^ 2) * 1.25666 + Cos((dblT / 1.2563 / Tan(1.25688))) + _ (Sin(dblT) ^ 2) * 1.25666 + Cos((dblT / 1.2563 / Tan(1.25688))) + (Sin(dblT) ^ 2) * _ 1.25666 + Cos((dblT / 1.2563 / Tan(1.25688))) + (Sin(dblT) ^ 2) * 1.25666 + _ Cos((dblT / 1.2563 / Tan(1.25688))) + (Sin(dblT) ^ 2) * 1.25666 + Cos((dblT / 1.2563 / Tan(1.25688))) + _ (Sin(dblT) ^ 2) * 1.25666 + Cos((dblT / 1.2563 / Tan(1.25688)))) / 12.1212154545455 + Tan(dblT) + _ Log(5.25665 * 56.25665) Next QueryPerformanceCounter cuStop sngStop = Timer MsgBox "Время по счетчику " & (cuStop - cuStart) / cuFrequency & vbLf & _ "Время по таймеру " & sngStop - sngStart End If End End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д