GitHub Actions 비교 측정 방법
홈의 2.3배 빠름과 74% 절약이 어떤 앱과 러너와 계산으로 나왔는지 설명합니다
홈에 있는 "2.3배 빠르고 74% 쌉니다"는 아래 조건으로 잰 값입니다, 2026년 10월 24일(한국 시간) 오후에 두 곳을 같은 시간대에 다시 쟀습니다
무엇을 빌드했나요
- 앱: 오픈소스 iOS 앱 IceCubesApp, 커밋
b2db3033fbf67a97b54d25d6dac2df8a029b26b1, Swift 패키지 18개 - 빌드: Xcode 26.6, Debug,
generic/platform=iOS Simulator, 서명과 인덱싱은 끔(CODE_SIGNING_ALLOWED=NO,COMPILER_INDEX_STORE_ENABLE=NO) - 스크립트: 두 곳 모두 같은 워크플로를 실행했습니다, 공개 저장소 001005HS/xenoci-bench의
.github/workflows/bench-roi.yml이고runs-on값만 다릅니다 - 시간: 스크립트 안에서 소스 받기, Swift 패키지 받기, 앱 빌드를 각각 쟀습니다, 캐시가 있는 조건은 캐시 복원 단계 시간도 더했습니다, 러너를 기다리고 준비하는 시간은 두 곳 모두 뺐습니다
어떤 러너로 쟀나요
| 항목 | GitHub Actions | XenoCI |
|---|---|---|
| 러너 | macos-latest(macos-26 표준 러너 이미지) | xenoci-macos |
| 머신 | Apple M1 가상 머신, vCPU 3개, 메모리 7GB | Apple M4 가상 머신, vCPU 4개, 메모리 7GB |
| macOS | 26.6.2 | 26.6.2 |
| 실행 경로 | GitHub 호스트 러너 | 운영 서비스에서 고객 잡과 같은 경로(GitHub App, runs-on) |
| 횟수 | 조건마다 5번, 매번 새 머신 | 조건마다 5번, 매번 새 VM |
| 측정 기록 | 캐시 없음, 캐시 있음 | 같은 워크플로를 시험 조직 저장소에서 실행 |
결과, 캐시 없이 처음부터
| 회차 | GitHub Actions(초) | XenoCI(초) |
|---|---|---|
| 1 | 351.2 | 176.7 |
| 2 | 555.8 | 247.2 |
| 3 | 483.2 | 245.6 |
| 4 | 493.2 | 205.9 |
| 5 | 429.5 | 174.6 |
| 가운데 값 | 483 (8분 3초) | 206 (3분 26초) |
GitHub는 회차마다 차이가 컸습니다(351.2초에서 555.8초), 그래서 평균이 아니라 가운데 값을 씁니다
계산
- 반올림 규칙: 가운데 값은 정수 초로 반올림합니다, 배수는 소수 첫째 자리까지 반올림하고 절약률은 정수 %로 반올림합니다
- 빠르기: 483 ÷ 206 = 2.34, 반올림해 2.3배
- 비용: 두 곳 모두 시작한 분마다 요금을 받으므로 GitHub는 9분, XenoCI는 4분으로 계산합니다
- GitHub: 9분 × 분당 약 87원 = 약 781원, macOS 3코어, 4코어 표준 러너의 공개 요금(아래 출처의 분당 요금)을 미화 1단위에 1,400원인 고정 환율로 원화 환산한 대략의 값입니다
- GitHub 요금 출처: GitHub Actions runner pricing, 2026년 10월 24일(한국 시간) 조회
- XenoCI: 4분 × 0.05크레딧(분당 50원, 부가세 포함) = 200원, 요금 기준
- 절약: (1 − 200 ÷ 781.2) × 100 = 74.4, 반올림해 74%, 시간만 보면 57% 짧습니다
캐시를 쓰면
| 회차 | GitHub Actions(초) | XenoCI(초) |
|---|---|---|
| 1 | 212.8 | 60.7 |
| 2 | 163.7 | 71.4 |
| 3 | 103.7 | 66.3 |
| 4 | 130.1 | 68.0 |
| 5 | 199.2 | 65.2 |
| 가운데 값 | 164 | 66 |
- 두 곳 모두 먼저 한 번 빌드해 Swift 패키지와 DerivedData를
actions/cache로 저장하고(약 1.2GB), 그다음 회차마다 새 머신에서 복원한 뒤 다시 빌드했습니다, XenoCI는 Actions 캐시를 XenoCI 캐시 저장소에서 받습니다 - 빠르기 2.5배, 비용은 GitHub 3분에 약 260원, XenoCI 2분에 100원이라 62% 절약입니다, 계산 방법은 캐시 없는 조건과 같습니다
알아 둘 점
- GitHub 러너의 칩(M1)은 GitHub 공개 문서의 표준 macOS 러너 사양입니다, 러너 안에서는 칩 이름 없이
VirtualMac2,1, CPU 3개, 메모리 7GB로 보였습니다 - XenoCI 러너 안에서는
VirtualMac2,1, CPU 4개, 메모리 7GB로 보였습니다 - XenoCI 맥 한 대에는 VM이 2개 돕니다, 캐시 없는 2, 3, 4회차와 캐시 있는 3회차는 같은 맥의 다른 VM에서 다른 잡이 함께 돌았고 나머지 회차는 혼자 돌았습니다, 혼자 돈 캐시 없는 회차는 176.7초와 174.6초였습니다
- 한 앱의 Debug 시뮬레이터 빌드입니다, 앱 크기, 테스트, Release 빌드, 서명에 따라 차이는 달라집니다
- GitHub의 비공개 저장소는 무료 사용량이 끝난 뒤 위 요금을 냅니다, 공개 저장소의 표준 러너는 무료입니다
- 요금이 바뀌면 홈의 절약률도 다시 계산합니다