- Membuktikan lewat eksperimen mengapa "waktu build yang cepat penting bagi perusahaan" dan "apakah resource cloud yang kuat benar-benar mahal?"
- Menguji waktu build pada GitHub Large Runner 2~64 core (kernel Linux Fedora)
Biaya yang Ditimbulkan Waktu Build Lambat bagi Perusahaan
- Jika gaji rata-rata developer diasumsikan $150K, maka biayanya $75 per jam
- Jika build memakan waktu 1 jam dan developer tidak mengerjakan hal lain, maka perusahaan pada dasarnya membayar $75 begitu saja
- Hasil pengujian (Fedora 36)
- Core (harga per menit) - total waktu build - biaya per build - biaya developer (1 orang)
- 2 core ($0.008/menit) - 310 menit - $2.48 - $389.98
- 8 core ($0.0032/menit) - 92 menit - $2.94 - $117.94
- 16 core ($0.064/menit) - 55 menit - $3.52 - $72.27
- 32 core ($0.128/menit) - 35 menit - $4.48 - $48.23
- 64 core ($0.256/menit) - 27 menit - $6.91 - $40.66
- Kesimpulannya, semakin banyak developer yang bekerja, semakin efisien mengeluarkan biaya untuk hardware yang lebih kuat
Biaya Context Switching bagi Perusahaan
- Jika diasumsikan developer mengerjakan tugas lain selama build berjalan
- Perpindahan konteks juga menimbulkan biaya. Menurut riset, rata-ratanya sekitar 23 menit
- Secara pribadi, rasanya butuh sekitar satu jam untuk berpindah dari pekerjaan yang sedang difokuskan ke pekerjaan lain
- Hasil pengujian (dihitung sekitar 30~15 menit)
- Core - waktu build - biaya per build - biaya developer parsial (1 orang, 30 menit) - biaya developer parsial (1 orang, 15 menit)
- 2 core - 310 - $2.48 - $39.98 - $21.23
- 16 core - 55 - $3.52 - $41.02 - $22.23
- 64 core - 27 - $6.91 - $44.41 - $25.66
- Dengan asumsi biaya developer $75 per jam, jauh lebih efisien mengeluarkan lebih banyak biaya untuk komputer
- Bahkan memakai 64 core yang paling mahal pun hanya seperlima dari biaya per jam satu developer
Kesimpulan
- Membayar hardware yang lebih baik sebenarnya lebih murah dan lebih baik bagi developer (mengurangi gangguan)
- Dalam eksperimen ini, membayar tambahan $4~5 untuk waktu build menghemat $40 bagi developer tunggal, dan lebih dari $200 bagi tim beranggotakan 5 orang, sekaligus menghemat satu jam yang terbuang untuk task switching
- Tentu saja, di perusahaan besar, menghabiskan $4~5 per build bisa menjadi angka yang cukup besar, tetapi biaya produktivitas yang hilang juga ikut membesar
- Mengeluarkan uang untuk performa CPU yang lebih baik akan terbayar seiring waktu.
Tentu saja, para developer akan berterima kasih kepada Anda
9 komentar
Setuju
https://xkcd.com/303/
Sepertinya kehabisan hal yang layak dikerjakan selama waktu build adalah hal yang universal di seluruh dunia.
Wah, ini benar-benar topik yang bikin saya penasaran. Ternyata blog GitHub juga punya banyak hal menarik untuk dilihat. Agak lega(? ) rasanya karena ternyata bukan cuma saya yang suka mengerjakan hal lain saat build berjalan atau terus kepikiran soal itu.
Setuju. Lebih suka desktop daripada laptop Plus.
Saya setuju. Saya seorang peneliti deep learning, jadi saya menggunakan beberapa perangkat sekaligus.
Karena saya sering menjalankan eksperimen, ada banyak saat ketika semua resource terpakai,
dan dalam situasi seperti itu, kadang muncul jeda-jeda waktu yang menggantung di tengah proses.
Selama eksperimen berlangsung, mengerjakan tugas lain juga diam-diam cukup mengganggu konsentrasi.
Apakah gaji rata-ratanya $150k?
Saya pernah sesekali merasa frustrasi karena batas performa PC atau server, dan memang terasa produktivitas menurun dibanding saat semuanya berjalan cepat dan responsif.
Tapi memang ada benarnya juga.
Dulu saya pernah mengerjakan pengembangan yang waktu build-nya sampai 1 jam...
Kalau build dijalankan, saya jadi selalu melakukan hal lain sampai selesai wkwkwk
Selama build berjalan, PC juga kadang jadi lemot...
Bahkan kalau sedang sibuk mengerjakan hal lain pun, saya tetap jadi sesekali mengecek progres build, jadi susah untuk benar-benar fokus.
Ini memang tulisan promosi GitHub Large Runner yang menyarankan agar memakai instance build yang bagus, tetapi... "Belikan developer perangkat paling mahal yang masih mampu dibeli perusahaan" seperti pada poin #9 dari The Joel Test tetap berlaku sama persis di era cloud.