По вопросам, связанным с измерением или улучшением эффективности кода и приложений.

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

Хороший вопрос заключается в том, что должны быть достигнуты цели в области производительности, а также другие ограничения. Попытка оптимизировать что-либо без измерения - это не вопрос "производительности" или работа, но, скорее всего, личное развлечение - ожидайте, что вопрос без целей/измерений будет рассматриваться как таковой.

Производительность для многих программ представлена в большой нотации O, которая классифицирует, как изменяется потребность в ресурсах алгоритма в ответ на изменение размера ввода.

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

Два основных показателя эффективности:

  • Пропускная способность (сколько во временном интервале). Пример единиц: транзакции в секунду (TPS), мегабайты в секунду (Мбайт/с), гигабиты в секунду (Gb/s), сообщения/запрос/страницы в секунду.
  • Задержка (как долго для действия). Например, время поиска 8 мс и время поиска 100 мс.

Латентность часто квалифицируется статистической мерой. Примечание: задержки обычно не соответствуют нормальному распределению и имеют очень высокие верхние пределы по сравнению со средней задержкой. Таким образом, стандартное отклонение не является полезным.

  • Средняя латентность. Среднее значение всех задержек.
  • Типичная или средняя латентность. Средняя точка диапазона возможных задержек. Обычно это от 50% до 90% средней латентности. Поскольку это самый низкий показатель, он часто сообщается поставщиками.
  • Процентная латентность. Этот показатель меньше или равен N% времени. То есть, 99 процентов, если латентность не более этого, 99 раз из 100.
  • Наихудшая или максимальная латентность. Измеряется самая высокая задержка.

Стремясь повысить производительность: прототип и измерение сначала, оптимизируйте только в том случае, когда и где это необходимо.

См. Также: