Чтение онлайн

на главную - закладки

Жанры

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

Салмре Иво

Шрифт:

 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

 For Each currentCustomerRow In dataTable_Customers.Rows

Dim currentCreditCard As String

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

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

currentCreditCard = CType( _

currentCustomerRow(COLUMN_NAME_PASSENGER_CREDIT_CARD), String)

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

If (creditCardNumber = currentCreditCard) Then

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

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

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

Dim currentTravelDate As System.DateTime = CType( _

currentCustomerRow(COLUMN_NAME_DATE_OF_TRAVEL), _

System.DateTime)

If (currentTravelDate <> newTravelDate) Then

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

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

currentCustomerRow(COLUMN_NAME_DATE_OF_TRAVEL) = _

newTravelDate

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

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Юнлинг

Метельский Николай Александрович
Фантастика:
героическая фантастика
космическая фантастика
попаданцы
8.35
рейтинг книги
Юнлинг

Мент

Константинов Андрей Дмитриевич
8. Бандитский Петербург
Детективы:
боевики
8.58
рейтинг книги
Мент

Поводырь

Щепетнов Евгений Владимирович
3. Ботаник
Фантастика:
фэнтези
6.17
рейтинг книги
Поводырь

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Древесный маг Орловского княжества 9

Павлов Игорь Васильевич
9. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 9

#Бояръ-Аниме. Газлайтер. Том 36

Володин Григорий Григорьевич
36. История Телепата
Фантастика:
боевая фантастика
аниме
фэнтези
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 36

Бастард Императора. Том 4

Орлов Андрей Юрьевич
4. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 4

На границе империй. Том 10. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 4

Кодекс Крови. Книга IХ

Борзых М.
9. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга IХ

Наследие Маозари 3

Панежин Евгений
3. Наследие Маозари
Фантастика:
рпг
аниме
5.00
рейтинг книги
Наследие Маозари 3

Наследие Маозари

Панежин Евгений
1. Наследие Маозари
Фантастика:
рпг
попаданцы
аниме
5.80
рейтинг книги
Наследие Маозари

Я не царь. Книга XXIV

Дрейк Сириус
24. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я не царь. Книга XXIV

Феодал. Том 2

Рэд Илья
2. Диктатура Параметров
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Феодал. Том 2