Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
//Кэшировать индекс
m_IndexOfTestColumn_CreditCard = colIdx;
//Кэшировать столбец
m_TestColumn_CreditCard = myColumn;
goto next_loop_iteration; //Опустить другие операции сравнения...
} //Endif: сравнение строк
} //Endif
if (m_IndexOfTestColumn_TravelDate == INVALID_INDEX) {
//Проверить, совпадает ли имя
if (myColumn.ColumnName == COLUMN_NAME_DATE_OF_TRAVEL) {
//Кэшировать индекс
m_IndexOfTestColumn_TravelDate = colIdx;
//Кэшировать столбец
m_TestColumn_TravelDate = myColumn;
goto next_loop_iteration; //Опустить другие операции сравнения.
} //Endif: сравнение строк
} //Endif
next_loop_iteration:
colIdx++;
}
m_indexesLookedUp =true;
}
//--------------
//Выполнить тест
//--------------
void changeDayOfTravel_test(testType kindOfTest) {
//Отобразить курсор ожидания
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
//Начать с известной даты...
System.DateTime newDate;
newDate = System.DateTime.Today;
changeDayOfTravel_textColumnLookup(ТЕST_CREDIT_CARD, newDate);
//ДОПУСТИМО ТОЛЬКО ДЛЯ ТЕСТОВОГО КОДА!!!
//Вызов сборщика мусора в коде ЗАМЕДЛИТ работу вашего приложения!
System.GC.Collect;
const int testNumber = 0;
//Настроить соответствующим образом в зависимости от вида выполняемого теста
switch (kindOfTest) {
case testType.textColumnLookup:
PerformanceSampling.StartSample(testNumber, "Text based Column lookup.");
break;
case testType.cachedIndexLookup:
PerformanceSampling.StartSample(testNumber, "Cached Column Index lookup.");
break;
case testType.cachedColumnObject:
PerformanceSampling.StartSample(testNumber, "Cached Column objects");
break;
default:
throw new Exception("Unknown state!");
}
//Выполнить тест!
for (int testCount = 0; testCount < NUMBER_TEST_ITERATIONS; testCount++) {
//Передвинуть дату вперед на один день
newDate = newDate.AddDays(1);
int numberRecordsChanged = 0;
//Какой вид теста мы выполняем?
switch (kindOfTest) {
case testType.textColumnLookup:
//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Просмотреть все имена, используя СТРОКИ
numberRecordsChanged =
changeDayOfTravel_textColumnLookup(ТЕST_CREDIT_CARD, newDate);
break;
case testType.cachedIndexLookup:
//ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные индексы
numberRecordsChanged =
changeDayOfTravel_cachedColumnIndex(ТЕST_CREDIT_CARD, newDate);
break;
case testType.cachedColumnObject:
//НАИЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные объекты
//столбцов
numberRecordsChanged =
changeDayOfTravel_CachedColumns(TEST_CREDIT_CARD, newDate);
break;
}
//Убедиться в том, что тест выполняется, как и ожидалось...
if (numberRecordsChanged != 1) {
System.Windows.Forms.MessageBox.Show("No matching records found. Test aborted!");
return;
}
}
//Получить время, которое потребовалось для выполнения теста
PerformanceSampling.StopSample(testNumber);
//Обычный курсор
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
//Отобразить результаты выполнения теста
string runInfo = NUMBER_TEST_ITERATIONS.ToString + "x" +
DUMMY_ROWS_OF_DATA.ToString + ": ";
System.Windows.Forms.MessageBox.Show(runInfo +
PerformanceSampling.GetSampleDurationText(testNumber));
}
//ФУНКЦИЯ ПОИСКА, ОБЛАДАЮЩАЯ НИЗКОЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ
private int changeDayOfTravel_ textColumnLookup(string creditCardNumber, System.DateTime newTravelDate) {
Поделиться:
Популярные книги
Я спас СССР! том 2
2. Я спас СССР
Фантастика:
альтернативная история
5.62
рейтинг книги
Печать пожирателя 2
2. Пожиратель
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Том 3. Рассказы 1896-1899
3. Собрание сочинений в тридцати томах
Проза:
русская классическая проза
5.00
рейтинг книги
Каратила
Детективы:
боевики
6.50
рейтинг книги
Князь Андер Арес 2
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Страж Кодекса
1. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 10
10. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Сталин
3. Загадки жизни и смерти
Проза:
историческая проза
7.36
рейтинг книги
Вагант
6. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
5.00
рейтинг книги
И в аду есть герои
5. Тайный Город
Фантастика:
боевая фантастика
9.19
рейтинг книги
Я еще не царь
25. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
На границе тучи ходят хмуро...
1. Александр Агренев
Фантастика:
альтернативная история
9.28
рейтинг книги
Товарищ "Чума" 5
5. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Лекарь Империи 9
9. Лекарь Империи
Фантастика:
городское фэнтези
аниме
боевая фантастика
5.00