Иво Салмре

Книги → Программирование мобильных устройств на платформе .NET Compact Framework → Примеры к главе 7 (производительность: введение)

Option Strict On

Imports System

Friend Class PerformanceSampling

'Значение этого параметра может быть задано произвольным, но количество

'тестовых интервалов, равное 8, представляется достаточным для большинства

'случаев

Const NUMBER_SAMPLERS As Integer = 8

Private Shared m_perfSamplesNames(NUMBER_SAMPLERS) As String

Private Shared m_perfSamplesStartTicks(NUMBER_SAMPLERS) As Integer

Private Shared m_perfSamplesDuration(NUMBER_SAMPLERS) As Integer

'---------------------------------------------------------------------------

'Определить начальное значение счетчика тактов системных часов для интервала

'---------------------------------------------------------------------------

Friend Shared Sub StartSample(ByVal sampleIndex As Integer, _

 ByVal sampleName As String)

 m_perfSamplesNames(sampleIndex) = sampleName

 m_perfSamplesStartTicks(sampleIndex) = System.Environment.TickCount()

End Sub

'--------------------------------------------------------------------------

'Определить конечное значение счетчика тактов системных часов для интервала

'--------------------------------------------------------------------------

Friend Shared Sub StopSample(ByVal sampleIndex As Integer)

 Dim stopTickCountAs Integer = System.Environment.TickCount

 'Счетчик тактов системных часов сбрасывается в ноль каждые 24,9 дня

 '(что соответствует примерно 2 миллиардам мс)

 'Эта маловероятная возможность будет принята нами во внимание

 If (stopTickCount >= m_perfSamplesStartTicks(sampleIndex)) Then

  'Обычно будет выполняться этот код

  m_perfSamplesDuration(sampleIndex) = _

   stopTickCount - m_perfSamplesStartTicks(sampleIndex)

 Else

  'Значение счетчика тактов "завернулось" через ноль, и мы

  'должны это учесть

  m_perfSamplesDuration(sampleIndex) = stopTickCount + _

   (Integer.MaxValue - m_perfSamplesStartTicks(sampleIndex)) + 1

 End If

End Sub

'-------------------------------------------

'Возвратить длительность тестового интервала

'(в миллисекундах)

'-------------------------------------------

Friend Shared Function GetSampleDuration(ByVal sampleIndex _

 As Integer) As Integer

 Return m_perfSamplesDuration(sampleIndex)

End Function

'Возвращает длительность истекшего тестового

' интервала в секундах

Friend Shared Function GetSampleDurationText(ByVal _

 sampleIndexAs Integer) As String

 Return m_perfSamplesNames(sampleIndex) + ": " + _

  System.Convert.ToString( _

  (m_perfSamplesDuration(sampleIndex) / CDbl(1000.0)) ) + " секунд."

End Function

End Class

Private Sub Button1_Click(ByVal senderAs System.Object, _

 ByVal e As System.EventArgs) Handles Button1.Click

 Const TEST_SAMPE_INDEXAs Integer = 2 'Выбрать любой допустимый индекс

 'Начать измерение

 PerformanceSampling.StartSample(TEST_SAMPE_INDEX, "TestSample")

 'Отобразить окно сообщений

 MsgBox("Для прекращения измерения нажмите кнопку OK")

 'Прекратить измерение

 PerformanceSampling.StopSample(TEST_SAMPE_INDEX)

 'Отобразить результаты

← предущий раздел следующая →

Страницы раздела: 1 2 3 4 5

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.