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

Салмре Иво

Шрифт:

//Проверить, совпадает ли имя

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;

}

}

  • Читать дальше
  • 1
  • ...
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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