Katakanlah saya memiliki versi kode yang lambat dan cepat, dan ingin melaporkan nomor percepatan yang membandingkan keduanya. Saya menjalankan versi lambat kali dan versi cepat m kali, menghasilkan kali ( s 1 , ... , s n ) dan ( f 1 , ... , f m ) . Cara paling sederhana untuk menghasilkan speedup adalah dengan cara rata-rata: ˉ s Namun, ini tidak mengambil outlier ke rekening.
Pertanyaan : Apa statistik terbaik untuk digunakan ketika melaporkan angka-angka percepatan?
statistics
publications
Geoffrey Irving
sumber
sumber
Jawaban:
Selain semua yang telah dikatakan Bill Barth di atas, izinkan saya menyebutkan bahwa orang sering melaporkan yang tercepat dari beberapa putaran. Alasannya adalah bahwa waktu menjalankan sebenarnya adalah waktu berjalan yang ideal ditambah sejumlah lambat yang dihasilkan dari proses lain yang berjalan, keterlambatan OS, keterlambatan jaringan, dll. Karena ini semua suara yang tidak kami minati, menggunakan waktu lari tercepat datang paling dekat dengan yang kita benar-benar ingin tahu.
sumber
yes A is theoretically only ~3x faster
:, bukankah ~ 3x percepatan tidak representatif dari percepatan yang mungkin diharapkan saat menggunakan implementasi A alih-alih B? (Ini adalah contoh kehidupan nyata)Saya sarankan Anda menggunakan median untuk memberikan perkiraan statistik. Berbeda dengan rata-rata, median tidak dikorupsi oleh outlier.
sumber
Jika standar deviasi tidak dapat diabaikan, Anda dapat menggunakan dua plot kotak berdampingan, dibangun masing-masing dengan waktu salah satu algoritma. Mereka tentu saja tidak standar dalam analisis numerik, tetapi mereka melakukan pekerjaan besar dalam menampilkan informasi semacam ini.
sumber