[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по настройке производительности


Тесты для оценки производительности

Когда сравнивается скорость работы некоторого компонента программы в различных средах, часто делаются различного рода ошибки. В этом разделе приведена информация о том, как избежать этих ошибок. Информация о различных способах вычисления времени работы программы приведена в других разделах этой книги.

При измерении времени обработки системного вызова пользователь получает значение, учитывающее следующее:

Для того чтобы избежать случайных погрешностей, измерения обычно выполняются несколько раз. Поскольку к фактическому времени обработки системного вызова добавляется еще несколько величин, зависящих от внешних факторов, обычно по результатам измерений строят кривую, пример которой приведен на следующем рисунке.

Рис. 1-3. Кривая на основе набора измерений
Рисунок h01i1

Крайне низкий уровень может соответствовать маловероятной ситуации оптимального кэширования или являться следствием ошибки округления.

Если во время обработки системного вызова регулярно возникали внешние события, то у полученной кривой может быть два максимальных значения, как показано на следующем рисунке.

Рис. 1-4. Кривая с двумя вершинами

Рисунок h01i2

Если во время обработки системного вызова возникло несколько прерываний, на обработку которых было затрачено значительное время, то кривая может исказиться еще больше, как показано на следующем рисунке:

Рис. 1-5. Искаженная кривая
Рисунок h01i3

Распределение результатов измерений относительно фактического значения нельзя считать случайным, поэтому стандартные тесты статистики, основанной на логическом выводе, должны применяться с крайней осторожностью. Кроме того, в зависимости от цели измерения, для описания производительности может не подходить ни среднее, ни фактическое значение.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]