Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

'Вызов сборщика мусора в коде ЗАМЕДЛИТ работу вашего приложения!

System.GC.Collect

Const testNumber As Integer = 0

'Настроить соответствующим образом в зависимости от вида выполняемого теста

Select Case (kindOfTest)

Case testType.textColumnLookup

PerformanceSampling.StartSample(testNumber, _

"Text based Column lookup.")

Case testType.cachedIndexLookup

PerformanceSampling.StartSample(testNumber, _

"Cached Column Index lookup.")

Case testType.cachedColumnObject

PerformanceSampling.StartSample(testNumber, _

"Cached Column objects")

Case Else

Throw New Exception("Unknown state!")

End Select

'Выполнить тест!

Dim testCount As Integer

For testCount = 1 To NUMBER_TEST_ITERATIONS

'Передвинуть дату вперед на один день

newDate = newDate.AddDays(1)

Dim numberRecordsChanged As Integer = 0

'Какой вид теста мы выполняем?

Select Case (kindOfTest)

Case testType.textColumnLookup

'НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Просмотреть все имена, используя СТРОКИ

numberRecordsChanged = _

changeDayOfTravel_textColumnLookup( _

TEST_CREDIT_CARD, newDate)

Case testType.cachedIndexLookup

'ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные индексы

numberRecordsChanged = _

changeDayOfTravel_cachedColumnIndex( _

TEST_CREDIT_CARD, newDate)

Case testType.cachedColumnObject

'НАИЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные объекты

numberRecordsChanged = _

changeDayOfTravel_CachedColumns( _

TEST_CREDIT_CARD, newDate)

End Select

'Убедиться в том, что тест выполняется, как и ожидалось

If (numberRecordsChanged <> 1) Then

MsgBox("No matching records found. Test aborted!")

Return

End If

Next

'Получить время, которое потребовалось для выполнения теста

PerformanceSampling.StopSample(testNumber)

'Обычный курсор

System.Windows.Forms.Cursor.Current = _

System.Windows.Forms.Cursors.Default

'Отобразить результаты выполнения теста

Dim runInfo As String = NUMBER_TEST_ITERATIONS.ToString + _

"x" + DUMMY_ROWS_OF_DATA.ToString + ": "

MsgBox(runInfo + _

PerformanceSampling.GetSampleDurationText(testNumber))

End Sub

'ФУНКЦИЯ ПОИСКА, ОБЛАДАЮЩАЯ НИЗКОЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ

Private Function changeDayOfTravel_textColumnLookup( _

ByVal creditCardNumber As String, _

ByVal newTravelDate As System.DateTime) As Integer

Dim numberRecordsChanged As Integer

'Найти имя таблицы

Dim dataTable_Customers As System.Data.DataTable

'НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск в таблице, используя

'сравнение строк!

dataTable_Customers = _

m_myDataSet.Tables(TABLE_NAME_PASSENGERINFO)

Dim currentCustomerRow As System.Data.DataRow

  • Читать дальше
  • 1
  • ...
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: