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

Салмре Иво

Шрифт:

m_TableCustomerInfo

Dim currentCustomerRow As System.Data.DataRow

For Each currentCustomerRow In dataTable_Customers.Rows

Dim currentCreditCard As String

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

currentCreditCard = CType( _

currentCustomerRow(m_TestColumn_CreditCard), _

String)

'Проверить, совпадает ли номер кредитной карточки

If (creditCardNumber = currentCreditCard) Then

'Изменить дату отъезда

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

Dim currentTravelDate As System.DateTime = CType( _

currentCustomerRow(m_TestColumn_TravelDate), _

System.DateTime)

If (currentTravelDate <> newTravelDate) Then

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

currentCustomerRow(m_TestColumn_TravelDate) = _

newTravelDate

numberRecordsChanged = numberRecordsChanged + 1

End If

End If

Next

Return numberRecordsChanged 'Количество обновленных записей

End Function

'Событие щелчка на кнопке

Private Sub buttonRunTest_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles buttonRunTest.Click

createDataSet

cacheDataSetInfo

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

changeDayOfTravel_test(testType.textColumnLookup)

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

changeDayOfTravel_test(testType.cachedIndexLookup)

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

changeDayOfTravel_test(testType.cachedColumnObject)

End Sub

Листинг 14.4. Результаты тестирования производительности при использовании пользовательского формата данных вместо объектов DataSet

'Определение размерных характеристик теста

Const DUMMY _ROWS_OF_DATA As Integer = 100

Const NUMBER_TEST_ITERATIONS As Integer = 500

Const TABLE_NAME_PASSENGERINFO As String = "CustomerTravelInfo"

Const TEST_CREDIT_CARD As String = "IvoCard-987-654-321-000"

Private m_data_creditCards As String

Private m_data_names As String

Private m_data_travelDates As System.DateTime

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

'Создает массив данных (вместо использования объектов DataSet)

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

Private Sub createDataSet

'=============================================

'1. Создать пространство для размещения данных

'=============================================

ReDim m_data_creditCards(DUMMY_ROWS_OF_DATA)

ReDim m_data_names(DUMMY_ROWS_OF_DATA)

ReDim m_data_travelDates(DUMMY_ROWS_OF_DATA)

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

'Добавить строки данных

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

Dim buildTestString As System.Text.StringBuilder

buildTestString = New System.Text.StringBuilder

Dim addItemsCount As Integer

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

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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