24 poin oleh xguru 2022-12-12 | 9 komentar | Bagikan ke WhatsApp
  • 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

 
kandk 2022-12-13

Setuju

 
depth221 2022-12-13

https://xkcd.com/303/

Sepertinya kehabisan hal yang layak dikerjakan selama waktu build adalah hal yang universal di seluruh dunia.

 
pmc7777 2022-12-12

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.

 
love7peace 2022-12-12

Setuju. Lebih suka desktop daripada laptop Plus.

 
dbs0829 2022-12-12

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.

 
kherootz 2022-12-12

Apakah gaji rata-ratanya $150k?

 
kuroneko 2022-12-12

Saya pernah sesekali merasa frustrasi karena batas performa PC atau server, dan memang terasa produktivitas menurun dibanding saat semuanya berjalan cepat dan responsif.

 
ruinnel 2022-12-12

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.

 
xguru 2022-12-12

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.