Volevo solo saltare qui e offrire un caso insolito in cui ...
* I CLIENTI CHE TRASFERANO CURA DI PRESTAZIONI E AVVISO OGNI PICCOLO CAMBIAMENTO! .
È nel mio campo che trattiamo il rendering di produzione che tende ad essere analizzato a morte in termini di prestazioni dai clienti stessi. Un rallentamento del 2% delle prestazioni rispetto a una versione minore può equivalere ai rallentamenti segnalati sotto forma di "segnalazioni di errori" in massa.
I thread del forum vengono spesso avviati con i clienti che confrontano le loro scene con varie versioni del software, in cui i clienti stanno effettivamente confrontando più degli sviluppatori stessi. "Il rendering di questa scena ha richiesto 1 ora e 40 minuti nella versione X. Adesso ci vogliono 32 minuti nella versione Y."
"Il caricamento di questa scena ha richiesto 18 minuti nella versione X, ora sono necessari 4 minuti per il caricamento nella versione Y."
Sono estremamente apprezzati quando vengono applicate le ottimizzazioni e questo da solo può bastare a giustificare un acquisto di un nuovo aggiornamento molto costoso del software, e talvolta con miglioramenti solo modesti come una riduzione dei tempi del 10%.
In alcuni contesti più grandi, può anche risparmiare al cliente enormi quantità di denaro quando il prodotto viene accelerato, poiché alcuni studi più grandi utilizzano fattorie di rendering in cui devono pagare centinaia di macchine per il rendering per tutto il giorno, e qualsiasi miglioramento nei tempi qui può accelerare l'intero processo di produzione (e possibilmente anche produrre risultati migliori quando gli artisti sono più produttivi creando arte piuttosto che aspettare che venga resa).
Quindi esistono campi come questo in cui i clienti lo notano davvero, davvero, a volte anche più degli stessi sviluppatori, e questo è al di fuori dei concetti di interazione dell'interfaccia utente che riguardano più la latenza che la velocità effettiva.
Quante volte è necessario che i programmatori facciano il possibile per "scrivere" analisi delle prestazioni per le quali il pubblico non è un collega programmatore, ma manager e clienti?
Nel nostro caso, sempre, con quasi ogni versione minore. La velocità è uno dei principali punti di forza e persino i benchmark più tecnici e le analisi delle prestazioni sono effettivamente apprezzati e compresi da clienti e manager. La percezione dei clienti è spesso come lupi rabbiosi, affamati di ulteriori ottimizzazioni e cercando di dare suggerimenti agli sviluppatori su come far andare le cose potenzialmente più velocemente. In questo caso, in realtà ci vuole disciplina per resistere ad alcune delle richieste del cliente di ottimizzare ulteriormente e concentrarsi su altre metriche come la manutenibilità e i miglioramenti delle funzionalità.
Thread.Sleep(1000); //pretend this does more than change a 0 to a 1 in the database.