Я просто хотел прыгнуть сюда и предложить необычный случай, когда ....
* ЗАКАЗЧИКИ БЕСПЛАТНО ЗАБОТАЮТ О ЭФФЕКТИВНОСТИ И УВЕДОМЛЕНИИ КАЖДОГО ИЗМЕНЕНИЯ МАЛЕНЬКОГО! ,
Это в моей области, где мы рассматриваем рендеринг продукции, который, как правило, анализируется до смерти с точки зрения производительности самими клиентами. Снижение производительности на 2% по сравнению с минорной версией может приравниваться к замедлению, о котором сообщается в виде массовых «отчетов об ошибках».
Темы форумов часто начинаются с того, что клиенты сравнивают свои сцены с различными версиями программного обеспечения, где клиенты фактически сравнивают друг с другом больше, чем сами разработчики. «Рендеринг этой сцены занял 1 час 40 минут в версии X. Теперь в версии Y это занимает 32 минуты».
«В версии X загрузка этой сцены заняла 18 минут, а в версии Y - 4 минуты».
Они очень благодарны, когда применяются оптимизации, и одного этого может быть достаточно для покупки нового, очень дорогого обновления программного обеспечения, а иногда и с небольшими улучшениями, такими как сокращение времени на 10%.
В некоторых более широких контекстах это может также сэкономить клиенту огромные суммы денег, когда продукт ускорится, поскольку некоторые крупные студии используют фермы рендеринга, где им приходится платить за сотни машин, выполняющих рендеринг в течение всего дня, и любое улучшение в этом случае может ускорить весь процесс производства (и, возможно, даже дать лучшие результаты, когда художники более продуктивно создают искусство, а не ждут, когда оно будет отображаться).
Таким образом, существуют такие области, где клиенты действительно, действительно, действительно замечают это - иногда даже больше, чем сами разработчики, и это выходит за рамки концепций взаимодействия с пользовательским интерфейсом, которые больше связаны с задержкой, чем с пропускной способностью.
Как часто программистам приходится прилагать дополнительные усилия, чтобы «составить» анализ производительности, для которого аудитория - это не коллеги-программисты, а менеджеры и клиенты?
В нашем случае все время, практически с каждым второстепенным релизом. Скорость - одна из главных точек продаж, и даже самые технические критерии и анализ производительности действительно ценятся и понимаются клиентами и менеджерами. Восприятие клиентов часто напоминает бешеных волков, жаждущих дополнительной оптимизации и пытающихся предложить разработчикам предложения о том, как потенциально ускорить процесс. В этом случае на самом деле требуется дисциплина, чтобы противостоять некоторым желаниям клиента оптимизировать работу и сосредоточиться на других показателях, таких как удобство обслуживания и улучшения функций.
Thread.Sleep(1000); //pretend this does more than change a 0 to a 1 in the database.