Программирование на VB
 
 
RSS / MAP / W3C

RSS - международный формат, специально созданный для трансляции данных с одного сайта на другой. 
Используя готовые экспортные файлы в формате RSS, вы можете разместить на своей странице заголовки и аннотации сюжетов наших новостей. 
Кроме того, посредством RSS можно читать новости специальными программами - агрегаторами новостей - и таким образом оперативно узнавать 
об обновлениях нужных сайтов.
Google SiteMap
Valid XHTML 1.0 Transitional
Статистика
Rambler's Top100

Как узнать время выполнения функции, команды,операции.

Замеряем время выполнения операции

Замеряем время выполнения операции

Иногда бывают моменты когда необходимо знать время выполнения операции, функции и т.д., как это сделать?, рассмотрим далее.

Поставим себе задачу, определить время выполнении цикла и общее время работы программы.

Общий принцип заключается в следующем, мы получаем текущее системное время перед выполнением функции, цикла, команды, а её завершения или в любой другой момент вычислить сколько времени прошло с момента начала.

Вычисляем время выполнения цикла и скорость (кило символов в секунду)


 
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim i, max As Integer
        max = 100000
        ProgressBar1.Maximum = max
        '----ЗАСЕКАЕМ ВРЕМЯ----
        gl_start_time = Now
        '####ЗАСЕКАЕМ ВРЕМЯ####
        For i = 0 To max
            ProgressBar1.Value = i
            Application.DoEvents()
            '----Вычисляем сколько времени прошло----
            gl_stop_time = Now
            gl_elapsed_time = gl_stop_time.Subtract(gl_start_time)
            '####Вычисляем сколько времени прошло####
            Label1.Text = "Время: " + CStr(Math.Round(gl_elapsed_time.TotalSeconds, 1))
            Label2.Text = "Скорость: " + CStr(Math.Round((i / (Math.Round(gl_elapsed_time.TotalSeconds, 1)) / 320), 0)) + " кСимволов/сек."
        Next
    End Sub
    

Исходный код всего проекта с вычислением времени запуска программы.


 
 '############################################################
'#      Примеры, уроки и статьи для VB                      #
'#      http://XOD.IN.UA
'#                                                          #
'############################################################
Public Class Form1
    
    Public total_time As TimeSpan
    Public total_start_time As DateTime
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim gl_start_time As DateTime
        Dim gl_stop_time As DateTime
        Dim gl_elapsed_time As TimeSpan
        Dim i, max As Integer
        max = 100000
        ProgressBar1.Maximum = max
        '----ЗАСЕКАЕМ ВРЕМЯ----
        gl_start_time = Now
        '####ЗАСЕКАЕМ ВРЕМЯ####
        For i = 0 To max
            ProgressBar1.Value = i
            Application.DoEvents()
            '----Вычисляем сколько времени прошло----
            gl_stop_time = Now
            gl_elapsed_time = gl_stop_time.Subtract(gl_start_time)
            '####Вычисляем сколько времени прошло####
            Label1.Text = "Время: " + CStr(Math.Round(gl_elapsed_time.TotalSeconds, 1))
            Label2.Text = "Скорость: " + CStr(Math.Round((i / (Math.Round(gl_elapsed_time.TotalSeconds, 1)) / 1000), 0)) + " кСимволов/сек."
        Next
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim stopt As DateTime
        stopt = Now
        total_time = stopt.Subtract(total_start_time)
        Label3.Text = "Программа запущена: " + CStr(total_time.ToString)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        total_start_time = Now
        Timer1.Enabled = True
    End Sub
End Class
    

Скачать исходный код примера

Страниц: 1
Опубликовано: 04.03.10 | Просмотров: 1456 | [ + ]   [ - ]   | Печать
 
 
© 2012 All right reserved xod.in.ua [ Сгенерировано за: 0.016 сек. | Выборки : 4 | Время БД : 0.002 сек.]