Какова ценность производительности в приложении, в долларовом выражении?
Это не просто вопрос для меня, но для всех, кто задается вопросом, как важно сделать вещи более глупыми, как панк (быстрее, лучше и сильнее;)). Я не знаю достаточно об этой теме, хотя я стараюсь изо всех сил, чтобы вещи работали лучше всего. Но мне любопытно, что такая компания, как Google, может заплатить за лучший алгоритм сортировки или лучший алгоритм поиска.
Моя основная причина для того, чтобы задать этот вопрос, заключается в том, что я разработал и работаю над методом для алгоритма поиска, который каждый раз работает в O(8). Это верно, не O(8n), но O(8). Я не уверен насчет памяти, но это очень быстро. Достаточно быстро, чтобы быть мгновенным. Это избавит от необходимости разделения ваших данных по серверам.
В любом случае вернемся к вопросу. Сколько денег (чтобы люди могли НАСТОЯТЕЛЬНО понять значение) тратят / будут ли компании тратить на такие вещи, как скорость, использование памяти и размер файла?
2 ответа
Экономика распределенных вычислений, написанная Джимом Греем в 2003 году, является хорошим началом. Смотрите эту цитату:
Из этого мы заключаем, что один доллар равен
- = 1 $
- ≈ 1 ГБ отправлено по глобальной сети
- ≈ 10 вершин (терапроцесс)
- ≈ 8 часов процессорного времени
- ≈ 1 ГБ дискового пространства
- 10 миллионов обращений к базе данных
- ≈ 10 ТБ пропускной способности диска
- 10 ТБ пропускной способности локальной сети
Очевидно, что значения изменились с тех пор, но это очень конкретные данные, указывающие на тот факт, что производительность имеет значение.
Более свежий пост, связанный с этой темой в блоге High Scalability: Scale Even Little Wins окупается - примеры Google и Facebook.
Он похоронен в этом трудном для чтения посте в блоге, но есть некоторые очень интересные подробности о том, как реальные пользователи реагируют на медленные операции, в http://blogs.adobe.com/jd/2008/08/factors_affecting_realworld_ad.html
Я нашел исследование макромедины, о котором он упоминал несколько лет назад, но, к сожалению, не могу найти его сейчас. Это описало шокирующе высокий спад для принятия, поскольку увеличилось время загрузки.
Вывод: пользователи невероятно нетерпеливы. Быть быстрым или проиграть.