Solo quería saltar aquí y ofrecer un caso inusual donde ...
* ¡ LOS CLIENTES SE IMPULSAN POR EL RENDIMIENTO Y NOTIFICAN CADA PEQUEÑO CAMBIO! .
Es en mi campo donde cubrimos la producción que tiende a ser analizada hasta la muerte en términos de rendimiento por los propios clientes. Una ralentización del rendimiento del 2% en una versión menor puede equivaler a la ralentización que se informa en forma de "informes de errores" en masa.
Los hilos del foro a menudo se inician con clientes que comparan sus escenas con varias versiones del software, donde los clientes realmente comparan más que los propios desarrolladores. "Esta escena tardó 1 hora y 40 minutos en renderizarse en la versión X. Ahora toma 32 minutos en la versión Y".
"Esta escena tardó 18 minutos en cargarse en la versión X, ahora tarda 4 minutos en cargarse en la versión Y".
Son extremadamente agradecidos cuando se aplican optimizaciones, y eso solo puede ser suficiente para garantizar la compra de una actualización nueva y muy costosa del software, y a veces con solo mejoras modestas, como una reducción del 10% en los tiempos.
En algunos contextos más grandes, también puede ahorrarle al cliente enormes cantidades de dinero cuando se acelera el producto, ya que algunos estudios más grandes usan granjas de render donde tienen que pagar cientos de máquinas de renderizado durante todo el día, y cualquier mejora en los tiempos aquí puede acelerar todo su proceso de producción (y posiblemente incluso producir mejores resultados cuando los artistas son más productivos creando arte en lugar de esperar a que se renderice).
Por lo tanto, existen campos como este donde los clientes realmente, realmente, realmente se dan cuenta, a veces incluso más que los propios desarrolladores, y esto está fuera de los conceptos de interacción de la interfaz de usuario que tienen más que ver con la latencia que con el rendimiento.
¿Con qué frecuencia es necesario que los programadores hagan un esfuerzo adicional para "redactar" análisis de desempeño para los cuales la audiencia no es programadores, sino gerentes y clientes?
En nuestro caso, todo el tiempo, con casi todos los lanzamientos menores. La velocidad es uno de los principales puntos de venta, e incluso los puntos de referencia más técnicos y los análisis de rendimiento son realmente apreciados y entendidos por los clientes y gerentes. La percepción de los clientes es a menudo como lobos rabiosos, hambrientos de más optimizaciones y tratando de hacer sugerencias a los desarrolladores sobre cómo hacer que las cosas vayan más rápido. En este caso, se necesita disciplina para resistir algunos de los impulsos del cliente para optimizar aún más y centrarse en otras métricas, como la capacidad de mantenimiento y las mejoras de las características.
Thread.Sleep(1000); //pretend this does more than change a 0 to a 1 in the database.