24 puan yazan xguru 2022-12-12 | 9 yorum | WhatsApp'ta paylaş
  • "Hızlı derleme süreleri şirket için neden önemlidir" ve "Güçlü bulut kaynakları gerçekten pahalı mı?" sorularını deneyle kanıtlama
  • GitHub Large Runner 2~64 çekirdekte derleme süreleri test edildi (Fedora Linux çekirdeği)

Yavaş derleme sürelerinin şirkete maliyeti

  • Geliştirici ortalama maaşı $150K kabul edildiğinde saatlik maliyet $75
  • Derleme 1 saat sürüyorsa ve geliştirici bu sırada başka bir şey yapmıyorsa, şirket fiilen $75 maliyet ödemiş olur
  • Çalıştırma sonuçları (Fedora 36)
    • Çekirdek (dakika başı ücret) - toplam derleme süresi - derleme başı maliyet - geliştirici maliyeti (1 kişi)
    • 2 çekirdek($0.008/dakika) - 310 dakika - $2.48 - $389.98
    • 8 çekirdek($0.0032/dakika) - 92 dakika - $2.94 - $117.94
    • 16 çekirdek($0.064/dakika) - 55 dakika - $3.52 - $72.27
    • 32 çekirdek($0.128/dakika) - 35 dakika - $4.48 - $48.23
    • 64 çekirdek($0.256/dakika) - 27 dakika - $6.91 - $40.66
  • Geliştirici sayısı arttıkça daha güçlü donanıma para harcamanın daha verimli olduğu sonucuna varılıyor

Bağlam değiştirmenin şirkete maliyeti

  • Derleme sürerken geliştiricinin başka işler yaptığını varsayarsak
  • Bağlam değiştirme de bir maliyet yaratır. Araştırmalara göre bunun ortalaması yaklaşık 23 dakika
  • Kişisel olarak, odaklandığım bir işten başka bir işe geçmenin yaklaşık bir saat sürdüğünü düşünüyorum
  • Çalıştırma sonuçları (yaklaşık 30~15 dakika üzerinden hesaplandığında)
    • Çekirdek - derleme süresi - derleme başı maliyet - kısmi geliştirici maliyeti (1 kişi, 30 dakika) - kısmi geliştirici maliyeti (1 kişi, 15 dakika)
    • 2 çekirdek - 310 - $2.48 - $39.98 - $21.23
    • 16 çekirdek - 55 - $3.52 - $41.02 - $22.23
    • 64 çekirdek - 27 - $6.91 - $44.41 - $25.66
  • Geliştirici maliyetinin saatlik $75 olduğu varsayımında, bilgisayara daha fazla para harcamak çok daha verimlidir
    • En pahalı 64 çekirdek bile tek bir geliştiricinin saatlik maliyetinin yalnızca beşte biri kadar

Sonuç

  • Daha iyi donanıma para ödemek aslında daha ucuzdur ve geliştirici için de daha iyidir (dikkat dağıtıcı unsurları azaltır)
  • Bu deneyde, derleme süresi için fazladan $4~5 ödemek, tek bir geliştirici için $40, 5 kişilik bir ekip için ise $200'den fazla tasarruf sağlarken, görev değiştirmeye giden bir saati de kurtarıyor
    • Elbette büyük şirketlerde derleme başına $4~5 harcamak ciddi bir toplam oluşturabilir, ancak boşa giden üretkenlik maliyeti de aynı ölçüde büyür
  • Daha iyi CPU performansı için para harcamak, zaman içinde karşılığını verir.
    Elbette geliştiriciler de size minnettar olacaktır

9 yorum

 
kandk 2022-12-13

Katılıyorum

 
depth221 2022-12-13

https://xkcd.com/303/

Görünüşe göre build süresinde yapılacak doğru dürüst bir işin kalmaması dünyanın her yerinde ortak.

 
pmc7777 2022-12-12

Vay, gerçekten merak ettiğim bir konuydu. GitHub blogunda da düşündüğümden daha fazla bakacak şey varmış. Build alırken başka şeylerle oyalanmanın ya da sürekli ona takılı kalmanın sadece bende olmadığını görmek içimi rahatlattı(?).

 
love7peace 2022-12-12

Kabul. Ayrıca laptop yerine masaüstünü tercih ederim.

 
dbs0829 2022-12-12

Katılıyorum. Ben bir derin öğrenme araştırmacısıyım ve aynı anda birden fazla cihaz kullanıyorum.
Normalde sık sık deneyler çalıştırdığım için çoğu zaman tüm kaynakları kullandığım oluyor.
Böyle olunca aralarda boşa çıkan zamanlar oluşuyor.
Deney sürerken başka işler yapmak da fark ettirmeden dikkat dağıtıyor.

 
kherootz 2022-12-12

Ortalama maaş $150k mı?

 
kuroneko 2022-12-12

PC ya da sunucunun performans sınırları yüzünden zaman zaman bunaltıcı anlar yaşadım; kesinlikle her şeyin hızlı ve akıcı çalıştığı duruma kıyasla üretkenliğin düştüğünü hissettim.

 
ruinnel 2022-12-12

Ama söyledikleri doğru.
Eskiden build’in 1 saat sürdüğü bir geliştirme işi yapmıştım...
Build’i başlatınca hep bitene kadar başka şeylerle oyalanıyorsunuz lol
Build çalışırken PC de kasılabiliyor...
Yoğun olup başka bir işle uğraşsanız bile build’in ilerleme durumunu ara sıra kontrol ediyorsunuz, bu yüzden odaklanmak pek kolay olmuyor.

 
xguru 2022-12-12

Her ne kadar iyi bir build instance’ı kullanın diyen, GitHub Large Runner tanıtımı niteliğinde bir yazı olsa da.. "Geliştiricilere, bütçenin izin verdiği en pahalı ekipmanı alın" diyen The Joel Test #9 maddesi, bulut çağında da aynen geçerliliğini koruyor.