Янв 19, 2014 - Уроки C#, Уроки Visual Basic.NET Написать комментарий
Время выполнения кода?
Для чего нужно знать время выполнения того или иного участка кода? Допустим у вас есть два варианта кода, которые выполняют одно и тоже. Тогда с помощью замеров, можно просмотреть, какой вариант выполнится быстрей и исходя из этих данных делать выводы.
Сегодня разберем два примера.
Первый пример:
Класс
VB.NET:
Imports System.Diagnostics Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim SW As New Stopwatch 'Создаем объект SW.Start() 'Запускаем System.Threading.Thread.Sleep(1000) 'Наш код SW.Stop() 'Останавливаем MsgBox(SW.ElapsedMilliseconds) 'Время выполнения в миллисекундах MsgBox(SW.Elapsed.Seconds) 'Время выполнения в секундах MsgBox(SW.ElapsedTicks) 'Тики End Sub End Class
C#:
using System.Diagnostics; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Stopwatch SW = new Stopwatch(); // Создаем объект SW.Start(); // Запускаем System.Threading.Thread.Sleep(1000); // Наш код SW.Stop(); //Останавливаем MessageBox.Show(Convert.ToString(SW.ElapsedMilliseconds)); // Время выполнения в миллисекундах MessageBox.Show(Convert.ToString(SW.Elapsed.Seconds)); // Время в секундах MessageBox.Show(Convert.ToString(SW.ElapsedTicks)); // Время в тиках } } }
Второй пример:
Очень простой вариант с помощью двух классов
VB.NET:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim Start As Date 'Время запуска Dim Stoped As Date 'Время окончания Dim Elapsed As New TimeSpan 'Разница Start = Now 'Старт (Записываем время) System.Threading.Thread.Sleep(1000) 'Наш код Stoped = Now 'Стоп (Записываем время) Elapsed = Stoped.Subtract(Start) 'Вычитаем из Stoped (когда код выполнился) время Start (когда код запустили на выполнение) MsgBox(Elapsed.TotalMilliseconds) 'Время выполнения в миллисекундах с плавующей запятой MsgBox(Elapsed.Seconds) 'Время выполнения в секундах End Sub
C#:
private void button2_Click(object sender, EventArgs e) { DateTime Start; // Время запуска DateTime Stoped; //Время окончания TimeSpan Elapsed = new TimeSpan(); // Разница Start = DateTime.Now; // Старт (Записываем время) System.Threading.Thread.Sleep(1000); // Наш код Stoped = DateTime.Now; // Стоп (Записываем время) Elapsed = Stoped.Subtract(Start); // Вычитаем из Stoped (когда код выполнился) время Start (когда код запустили на выполнение) MessageBox.Show(Convert.ToString(Elapsed.TotalMilliseconds)); // Время выполнения в миллисекундах с плавующей запятой MessageBox.Show(Convert.ToString(Elapsed.Seconds)); // Время выполнения в секундах }
Похожие записи:
Метки: Время выполнения кода, Время выполнения участка кода, выполнение кода
Евгений
Просмотров: 21 304
Запись опубликована в 12:10