| Номер теста | (А) Текстовый индекс, с | (Б) Целочисленный индекс, с | (В) Индексирование по объектам DataColumn, с | (Г) Пользовательский формат данных, с |
|---|---|---|---|---|
| (ADO.NET) | (ADO.NET) | (ADO.NET) | (Пользовательский) | |
| 1 | 32,538 | 30,09 | 23,554 | 12,268 |
| 2 | 33,063 | 30,387 | 23,491 | 12,335 |
| 3 | 32,87 | 30,372 | 23,582 | 12,358 |
| Среднее | 32,82 | 30,28 | 23,54 | 12,32 |
| Относительная производительность | 100% | 92% | 72% | 38% |
Приведенный в листинге 14.4 код необходимо включить в форму в проекте Pocket PC. Для создания и выполнения приложения потребуется выполнить следующие действия:
1. Запустите Visual Studio .NET (2003 или более позднюю версию) и выберите в качестве типа приложения C# Smart Device Application.
2. Выберите в качестве целевой платформы Pocket PC. (Для вас будет автоматически создан проект, и на экране появится окно конструктора форм Pocket PC.)
3. Добавьте в форму элемент управления Button. Присвойте ему имя buttonRunTest.
4. Дважды щелкните на элементе управления Button в окне конструктора форм. В автоматически сгенерированной и подключенной функции обработчика событий введите код функции buttonRunTest_Click из листинга 14.4.
5. Введите весь оставшийся код в тот же класс.
6. Установите для свойства MinimizeBox формы значение false. Благодаря этому во время выполнения в верхней правой части формы появится кнопка OK, с помощью которой вы легко сможете закрыть форму и выйти из приложения. Эта возможность оказывается очень полезной при многократном тестировании приложения.
7. Запустите приложение, нажав клавишу
//Определение размерных характеристик теста
const int DUMMY_ROWS_OF_DATA = 100;
const int NUMBER_TEST_ITERATIONS = 500;
const string TABLE_NAME_PASSENGERINFO = "CustomerTravelInfo";
const string TEST_CREDIT_CARD = "IvoCard-987-654-321-000";
string [] m_data_creditCards;
string [] m_data_names;
System.DateTime [] m_data_travelDates;
//-------------------------------------------------------------
//Создает массив данных (вместо использования объектов DataSet)
//-------------------------------------------------------------
private void createDataSet {
//=============================================
//1. Создать пространство для размещения данных
//=============================================
m_data_creditCards = new string[DUMMY_ROWS_OF_DATA + 1];
m_data_names = new string[DUMMY_ROWS_OF_DATA + 1];
m_data_travelDates = new System.DateTime[DUMMY_ROWS_OF_DATA + 1];
//----------------------
//Добавить строки данных
//----------------------
System.Text.StringBuilder buildTestString;
buildTestString = new System.Text.StringBuilder;
for (int addItemsCount = 0; addItemsCount < DUMMY_ROWS_OF_DATA; addItemsCount++) {
//Выбрать день отъезда пассажира
m_data_travelDates[addItemsCount] = System.DateTime.Today.AddDays(addItemsCount);
//---------------------
//Выбрать имя пассажира
//---------------------
//Очистить строку
buildTestString.Length = 0;
buildTestString.Append("TestPersonName");
buildTestString.Append(addItemsCount);