Saya hanya ingin melompat di sini dan menawarkan kasus yang tidak biasa di mana ....
* PELANGGAN FREAKING CARE TENTANG KINERJA DAN PEMBERITAHUAN SETIAP PERUBAHAN KECIL! .
Itu di bidang saya di mana kita membahas rendering produksi yang cenderung dianalisis sampai mati dalam hal kinerja oleh pelanggan sendiri. Perlambatan 2% dalam kinerja dibandingkan versi minor dapat disamakan dengan perlambatan yang dilaporkan dalam bentuk "laporan bug" secara massal.
Forum threads sering dimulai dengan pelanggan membandingkan adegan mereka dengan berbagai versi perangkat lunak, di mana pelanggan sebenarnya melakukan benchmark lebih dari pengembang itu sendiri. "Adegan ini membutuhkan waktu 1 jam 40 menit untuk merender dalam versi X. Sekarang butuh 32 menit dalam versi Y."
"Adegan ini membutuhkan waktu 18 menit untuk memuat dalam versi X, sekarang dibutuhkan 4 menit untuk memuat dalam versi Y."
Mereka sangat menghargai ketika optimasi diterapkan, dan itu saja sudah cukup untuk menjamin pembelian upgrade perangkat lunak baru yang sangat mahal, dan kadang-kadang dengan hanya perbaikan sederhana seperti pengurangan 10% di kali.
Dalam beberapa konteks yang lebih besar, ini juga dapat menghemat uang dalam jumlah besar kepada pelanggan ketika produk dipercepat, karena beberapa studio yang lebih besar menggunakan pertanian render di mana mereka harus membayar ratusan mesin yang disumbangkan sepanjang hari, dan setiap peningkatan waktu di sini dapat mempercepat seluruh proses produksi mereka (dan bahkan mungkin menghasilkan hasil yang lebih baik ketika seniman lebih produktif menciptakan seni daripada menunggu untuk dirender).
Jadi ada bidang seperti ini di mana pelanggan benar-benar, benar-benar memperhatikan - kadang-kadang bahkan lebih dari pengembang itu sendiri, dan ini di luar konsep interaksi UI yang lebih tentang latensi daripada throughput.
Seberapa sering pemrogram perlu melakukan ekstra panjang untuk "menulis" analisis kinerja yang audiensnya bukan sesama programmer, tetapi manajer dan pelanggan?
Dalam kasus kami, setiap saat, dengan hampir setiap rilis kecil. Kecepatan adalah salah satu poin penjualan teratas, dan bahkan tolok ukur paling teknis dan analisis kinerja sebenarnya dihargai dan dipahami oleh pelanggan dan manajer. Persepsi pelanggan sering seperti serigala gila, haus akan lebih banyak optimisasi, dan mencoba memberikan saran kepada pengembang tentang cara berpotensi membuat segalanya berjalan lebih cepat. Dalam hal ini, sebenarnya dibutuhkan disiplin untuk menolak beberapa keinginan pelanggan untuk mengoptimalkan lebih lanjut dan fokus pada metrik lain seperti pemeliharaan dan peningkatan fitur.
Thread.Sleep(1000); //pretend this does more than change a 0 to a 1 in the database.