Шрифт:
//Получить время, которое потребовалось для выполнения теста
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) {
int numberRecordsChanged = 0;
//Найти имя таблицы
System.Data.DataTable dataTable_Customers;
//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск в таблице, используя
//сравнение строк!
dataTable_Customers = m_myDataSet.Tables[TABLE_NAME_PASSENGERINFO];
foreach (System.Data.DataRow currentCustomerRow in dataTable_Customers.Rows) {
string currentCreditCard;
//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск в таблице, используя
//сравнение строк!
currentCreditCard = (string)currentCustomerRow[COLUMN_NAME_PASSENGER_CREDIT_CARD];
//Проверить, является ли данная кредитная карточка искомой
if (creditCardNumber == currentCreditCard) {
//Изменить дату отъезда
//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск столбца, используя
//сравнение строк!
System.DateTime currentTravelDate =
(System.DateTime)currentCustomerRow[COLUMN_NAME_DATE_OF_TRAVEL];
if (currentTravelDate != newTravelDate) {
//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск столбца, используя
//сравнение строк!
currentCustomerRow[COLUMN_NAME_DATE_OF_TRAVEL] = newTravelDate;
numberRecordsChanged++;
}
} //endif: сравнение строк
} //end foreach
return numberRecordsChanged; //Количество обновленных записей
}
//ФУНКЦИЯ, ХАРАКТЕРИЗУЮЩАЯСЯ НЕСКОЛЬКО ЛУЧШЕЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ
private int changeDayOfTravel_cachedColumnIndex(string creditCardNumber, System.DateTime newTravelDate) {
int numberRecordsChanged = 0;
//Поиск имени таблицы
System.Data.DataTable dataTable_Customers;
//ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: использовать кэшированный индекс
dataTable_Customers = m_myDataSet.Tables[m_IndexOfTestTable];
foreach (System.Data.DataRow currentCustomerRow in dataTable_Customers.Rows) {
string currentCreditCard;
//ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: использовать кэшированный индекс столбца!
currentCreditCard =
(string)currentCustomerRow[m_IndexOfTestColumn_CreditCard];
//Проверить, совпадает ли номер кредитной карточки...
if (creditCardNumber == currentCreditCard) {
//Изменить дату отъезда
//ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированный индекс столбца!
System.DateTime currentTravelDate =
(System.DateTime)currentCustomerRow[m_IndexOfTestColumn_TravelDate];
if (currentTravelDate != newTravelDate) {