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

Номер теста(А) Текстовый индекс, с(Б) Целочисленный индекс, с(В) Индексирование по объектам DataColumn, с(Г) Пользовательский формат данных, с
 (ADO.NET)(ADO.NET)(ADO.NET)(Пользовательский)
132,53830,0923,55412,268
233,06330,38723,49112,335
332,8730,37223,58212,358
Среднее32,8230,2823,5412,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. Запустите приложение, нажав клавишу . Щелкните на кнопке для запуска теста. Результаты тестирования должны отобразиться в окне сообщений.

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

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

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);

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT