본문으로 건너뛰기

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 ActionsXenoCI
러너macos-latest(macos-26 표준 러너 이미지)xenoci-macos
머신Apple M1 가상 머신, vCPU 3개, 메모리 7GBApple M4 가상 머신, vCPU 4개, 메모리 7GB
macOS26.6.226.6.2
실행 경로GitHub 호스트 러너운영 서비스에서 고객 잡과 같은 경로(GitHub App, runs-on)
횟수조건마다 5번, 매번 새 머신조건마다 5번, 매번 새 VM
측정 기록캐시 없음, 캐시 있음같은 워크플로를 시험 조직 저장소에서 실행

결과, 캐시 없이 처음부터

회차GitHub Actions(초)XenoCI(초)
1351.2176.7
2555.8247.2
3483.2245.6
4493.2205.9
5429.5174.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(초)
1212.860.7
2163.771.4
3103.766.3
4130.168.0
5199.265.2
가운데 값16466
  • 두 곳 모두 먼저 한 번 빌드해 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의 비공개 저장소는 무료 사용량이 끝난 뒤 위 요금을 냅니다, 공개 저장소의 표준 러너는 무료입니다
  • 요금이 바뀌면 홈의 절약률도 다시 계산합니다