- "빠른 빌드시간이 회사에 중요한 이유" 와 "강력한 클라우드 리소스는 실제로 비싼가?" 를 실험으로 증명하기
- GitHub Large Runner 2~64코어에서 빌드 시간을 테스트 (Fedora 리눅스 커널)
느린 빌드시간이 회사에 미치는 비용
- 개발자 평균연봉을 $150K로 잡았을때 시간당 $75
- 빌드가 1시간 걸릴때 개발자가 다른걸 하지 않는다면 회사는 $75의 비용을 그냥 내게 되는 것
- 실행 결과 (Fedora 36)
- 코어(분당 가격) - 총 빌드시간 - 1빌드당 비용 - 개발자 비용(1인)
- 2코어($0.008/분) - 310분 - $2.48 - $389.98
- 8코어($0.0032/분) - 92분 - $2.94 - $117.94
- 16코어($0.064/분) - 55분 - $3.52 - $72.27
- 32코어($0.128/분) - 35분 - $4.48 - $48.23
- 64코어($0.256/분) - 27분 - $6.91 - $40.66
- 개발자가 여럿 일수록 더 강력한 하드웨어에 비용을 쓰는게 효율적 이라는 결론
컨텍스트 스위칭이 회사에 미치는 비용
- 빌드가 진행되는 동안 개발자가 다른 업무를 한다고 가정해보면
- 컨텍스트 전환에도 비용이 들게 됨. 연구에 의하면 평균 약 23분이 들어간다고 함
- 개인적으로는 집중했던 작업에서 다른 작업으로 넘어갈 때 한시간은 들어가는듯 함
- 실행 결과(30~15분 정도로 계산시)
- 코어 - 빌드시간 - 1빌드당 비용 - 부분 개발자 비용(1인,30분) - 부분 개발자 비용(1인,15분)
- 2코어 - 310 - $2.48 - $39.98 - $21.23
- 16코어 - 55 - $3.52 - $41.02 - $22.23
- 64코어 - 27 - $6.91 - $44.41 - $25.66
- 개발자 비용이 시간당 $75라는 가정하에서는 컴퓨터에 비용을 더 들이는게 훨씬 효율적임
- 가장 비싼 64코어를 사용해도 단일 개발자의 시간당 비용의 5분의 1에 불과함
결론
- 더 좋은 하드웨어에 비용을 지불하는 것이 실제로 더 저렴하고, 개발자에게 더 좋음(방해요소를 줄임)
- 위 실험의 경우, 빌드시간에 $4~5 를 더 지불하는 것이 1인 개발자에게는 $40, 5명 팀에게는 $200 이상 절약해주면서, 태스크 스위칭에 드는 한시간도 아껴줌
- 물론 대규모 회사에서는 빌드당 $4~5를 쓰는 것은 꽤 커질수도 있지만, 매몰되는 생산성 비용 역시 커짐
- 더 좋은 CPU성능을 위해 돈을 쓰는것은 시간이 지나면서 보상을 받게됨.
물론 개발자들은 당신에게 감사해 할 것