Как мне рассчитать процентное улучшение времени отклика.
Я получаю время ответа 15306 ms
для старого кода и ответ 799 ms
для обновленного кода. Каким будет процентное улучшение в времени отклика?
Как мне рассчитать процентное улучшение времени отклика.
Я получаю время ответа 15306 ms
для старого кода и ответ 799 ms
для обновленного кода. Каким будет процентное улучшение в времени отклика?
Существует два способа интерпретации "процентного улучшения времени отклика". Одна из них - классическая и вездесущая формула для вычисления процентного изменения в точке данных от старого значения до нового значения, которое выглядит следующим образом:
(new - old)/old*100%
Итак, для вашего случая:
(799 - 15306)/15306*100% = -94.78%
Это означает, что новое значение на 94.78% меньше (быстрее, так как мы говорим об отклике), чем старое значение.
Второй способ интерпретации заявления - взять процент старого значения, которое новое значение "охватывает" или "достигает":
new/old*100%
В вашем случае:
799/15306*100% = 5.22%
Это означает, что новое значение составляет всего 5,22% от старого значения, что для времени отклика означает, что требуется всего 5,22% времени для ответа по сравнению со старым временем ответа.
Использование слова "улучшение" предполагает, что вы хотите значение 94,78%, так как это показывает, какая часть задержки в старом времени ответа была устранена ( "улучшена" ) новым кодом. Но когда дело доходит до естественного языка, может быть трудно быть уверенным в точном значении без тщательного разъяснения.
Фактически производительность зависит от того, сколько можно сделать за тот же промежуток времени.
Итак, формула OLD/NEW - 1
В вашем случае ваша производительность увеличилась на 1816% (т.е. Вы можете делать 18,16 раза больше в одно и то же время)
15306/799 - 1 = 1816%
Примечание: прежде чем вы сможете сделать 1/15360, теперь 1/799...
время выполнения кода на 94.78% короче/улучшено/уменьшено:
(new - old) / old x 100%
(799 - 15306) / 15306 x 100% =~ -94.78% (minus represents decrease)
ваш код на 1816% быстрее:
(old - new) / new x 100%
(15306 - 799) / 799 x 100% =~ 1816%
Я думаю, что ответы выше страдают от первоначального вопроса, не имея хорошие круглые числа и что есть 3 различных способа заявить Результат.
Очевидно, что в новое время 50% сокращение (или уменьшение):
(old-new)/old x 100% = (10-5)/10 x 100% = 50%
Но когда вы говорите об увеличении производительности, когда большее увеличение явно лучше, вы не можете использовать формулу выше. Вместо этого увеличение производительности составляет 100%:
(old-new)/new x 100% = (10-5)/5 x 100% = 100%
5-секундное время в 2 раза быстрее, чем 10-секундное время. Говоря иначе, вы можете выполнять задачу дважды (2 раза) сейчас за каждый раз, когда у вас была возможность сделать это.
old/new = 10/5 = 2.0
Старое время было 15306 ms
, а новое - 799 ms
.
Время уменьшилось на 94,7%.
(old-new)/old x 100% = (15306-799)/15306 x 100% = 94.7%
Увеличение производительности на 1816% :
(old-new)/new x 100% = (15306-799)/799 x 100% = 100%
Ваше новое время в 19 раз быстрее :
old/new = 15306/799 = 19.16
Несколько ответов уже ответили на вопрос правильно, но позвольте мне расширить эти ответы некоторыми дополнительными мыслями и практическим примером.
Процент улучшения обычно рассчитывается как ((NEW - OLD)/OLD) * 100
Давайте подумаем об этом на нескольких практических примерах:
Это сложно, когда вы пытаетесь измерить метрику, используя другую метрику, которая имеет обратную зависимость с метрикой, которую вы пытаетесь измерить. Позвольте мне объяснить, что я имею в виду под этим.
Давайте попробуем второй пример снова, используя "время, необходимое для достижения цели". Допустим, поезду А требуется 3 часа, чтобы добраться до пункта назначения, а поезду Б - 2 часа, чтобы добраться до того же пункта назначения. Поезд B быстрее, чем Поезд A, на какой процент?
Если мы используем ту же формулу, которую использовали в приведенных выше примерах, мы получим ((2-3)/3) * 100, что составляет -33%. Это просто говорит о том, что поезду B требуется на 33% меньше времени, чтобы добраться до пункта назначения, чем поезду A, но это не то, что мы пытаемся определить. Правильно? Мы пытаемся измерить разницу в скорости в процентах. Если мы слегка изменим формулу и примем абсолютное значение, мы получим 33%, что может показаться правильным, но не совсем. (Я объясню почему через минуту)
Так что же нам делать? Первое, что нам нужно сделать, - это преобразовать имеющуюся у нас метрику в метрику, которую мы хотим измерить. После этого мы сможем использовать ту же формулу. В этом примере мы пытаемся измерить разницу в скорости. Итак, давайте сначала получим скорость каждого поезда. Поезд А путешествует на 1/3 расстояния в час. Поезд Б едет на 1/2 расстояния в час. Разница в скорости в процентах составляет: ((1/2 - 1/3)/1/3) * 100 = ((1/2 - 1/3) * 3) * 100 = (3/2 - 3/3) * 100 = 50%
Что совпадает с ((3 - 2)/2) * 100.
Короче говоря, когда измеряемая нами метрика и имеющаяся у нас метрика имеют обратную зависимость, формула должна быть
((СТАРЫЙ - НОВЫЙ)/НОВЫЙ) * 100
Что не так с оригинальной формулой? Почему мы не можем использовать оригинальную формулу и сделать вывод, что поезд B только на 33% быстрее? Потому что это неточно. Исходная формула всегда дает результат, который составляет менее 100%. Представьте себе полет в тот же пункт назначения за 15 минут? Первая формула говорит, что полет на 91,6% быстрее, в то время как вторая формула говорит, что полет на 1100% быстрее (или в 11 раз быстрее), что является более точным.
При использовании этой модифицированной формулы процентное улучшение для случая, размещенного в исходном вопросе, составляет ((15306 - 799)/799) * 100 = 1815,6%.
((старое время - новое время)/старое время) * 100
Эта формула даст процент уменьшения в новом времени отклика.
В вашем случае ((15306 - 799)/15306) * 100 = 94,78%
Формула для определения процента сокращения:
P = a/b × 100
Где P - процент сокращения, a - сумма сокращения, а b - первоначальная сумма, которая была уменьшена.
Таким образом, чтобы вычислить вы: a
old - new
вич переведете:
P = ((OLD - NEW)/OLD)*100